нотификейшены об обновлениях объектов в бд?
Когда-то у меня вместо DAO был Repository из дженерика - реалм объекта. Для подписки на обновления клиент забирал NotificationToken из Realm и хранил его в неком объекте, например, CacheTracker, который зависел от жизненного цикла другого объекта. Например, UIViewController. В CacheTracker распаковывались обновления и приводились к необходимому виду.
import PromiseKit import RealmSwift class RealmManager<RealmObjectClass:RealmEntityType, PlainObjectClass:PlainEntityType> where RealmObjectClass : Object { private func getRealm() -> Realm { return try! Realm() } func subscribe(using block: @escaping ((RealmCollectionChange<Results<RealmObjectClass>>) -> Void)) -> Promise<NotificationToken> { let realm = getRealm() return Promise(value: realm.objects(RealmObjectClass.self).observe(block)) } }
Обсуждают сегодня