В моем приложении я установил наблюдателей для childAdded
, childDeleted
и childModified
на интересующих узлах базы данных Firebase, чтобы отслеживать их и соответственно изменять базу данных моего устройства CoreData
. Я только что понял, что если childDeleted
или childModified
произойдет, когда устройство не подключено к сети, оно не получит уведомление об этих событиях, когда оно снова подключится к сети. Поскольку это нормальное ожидаемое поведение, как я понял, я подумал об обходном пути так: когда я инициирую удаление записи на узле Firebase, я создам запись соответствующего «удаленного» узла. Таким образом, событие childAdded
будет запущено, когда устройство вернется в оперативный режим и выполнит логику, которую теперь выполняет наблюдатель childDeleted
. Таким образом, я не буду наблюдать никаких childDeleted
событий.
Итак, мой вопрос: я неправильно использую наблюдателей Firebase, и childDeleted
должен быть сообщен в любом случае, когда устройство вернется в режим онлайн, или такая ситуация на самом деле должна работать? Какие решения вы реализовали в этой ситуации?