Realm - объект был удален или признан недействительным - PullRequest
0 голосов
/ 10 апреля 2020

Я создал приложение, которое использует Realm в качестве постоянного хранилища, и время от времени я сталкиваюсь с проблемой доступа к удаленным объектам Realm. Моя база данных состоит из объектов, которые обновляются / удаляются каждые 12 часов. Предположим, объект удаляется при фильтрации массива объектов области. Вот пример кода:

let objects = databaseManager.getObjects()
// Here the sync is prepared and one of the array elements is removed
filteredObjects = objects.filter { ... } // Here I've got a fatal exception

Как правильно решить такую ​​ситуацию? Стоит ли проверять, является ли объект недействительным при фильтрации?

UPDATE

Точнее, это функция из databaseManager. Он возвращает объекты Swift, а не объекты Realm.

func getObjects() -> [Object] {
    return database.objects(Object.self).toArray(ofType: Object.self)
}

'Объекты' обновляются каждые 12 часов. Они загружаются из бэкэнда, новые сохраняются, а устаревшие удаляются. Я говорю о ситуации, когда я делаю некоторые операции над коллекцией (map, filter et c.) И механизм syn c начинает работать. Что делать, если объекты, над которыми я работаю, удаляются из области?

...