iOS - RxRealm - возможно ли получить обновленное событие, даже если набор данных не изменился - PullRequest
1 голос
/ 26 апреля 2019

iOS - RxRealm - возможно ли получить обновленное событие, даже если набор данных не изменился

Возможно ли в RxRealm получать уведомление, даже если мой набор данных такой же? Когда я подписываюсь на коллекцию (нет элементов при запуске приложения), я получаю пустой массив. (это нормально в этот момент) Моя проблема в том, что мой запрос API также может возвращаться с пустым массивом, и в этом случае я не получил никакого уведомления от RxRealm.collection , поэтому я не знаю, является ли мой запрос закончил или я просто читал базу данных.

Я пытался позвонить realm.refresh(), но это не помогло

Это то, что я наблюдаю:

func findAll() -> Results<T> {
    return realm.objects(T.self)
}
    .
    .
    .

Observable.collection(from: findAll()).map(Array.init) 

Вот как я перестраиваю свою базу данных после завершения запроса API:

func rebuildDatabase(objects: [T], with update: Bool = false) {
        realm.refresh() // trying to force refresh event
        do {
            realm.beginWrite()
            realm.delete(self.findAll())
            realm.add(objects, update: update)
            try realm.commitWrite()
        } catch {
            Log.error(error.localizedDescription)
        }
    }

Возможно ли заархивировать это поведение с какой-то конфигурацией или есть какая-нибудь строка кода, которая будет вызывать уведомление? Спасибо за все ответы

...