我出于共享习惯而共享领域Results
,以避免在新订阅上重新查询数据库:
func getPersons() -> Observable<[Person]> {
let realm = try! Realm()
let results = realm.objects(Person.self)
return Observable.array(from: results)
.share(replay: 1) // don't re-query the database on new subscriptions
}
但是共享Object
有好处吗?我倾向于“否”,因为对象不是查询,所以没有什么可以重新运行的。另一方面,from
创建一个Observable,它可以做一些工作-observe
是对象-不会在每次新订阅时触发代码吗?
func newPerson() -> Observable<Person> {
let realm = try! Realm()
let obj = realm.create(Person.self)
return Observable.from(object: obj)
.share(replay: 1) // does this have any effect?
}