Я работаю над приложением iOS, которое получает данные из базы данных Firebase. Мне нужно сохранить локальную версию БД, и я нашел действительно потрясающе автономную возможность Firebase. Теперь,Firebase 3 update local cache
- Есть ли способ отключить автоматическую синхронизацию и обновлять только при нажатии пользователем кнопки?
- Есть ли способ обновлять только новые или измененные элементы вместо повторной загрузки всего?
2-бис. Есть ли способ узнать каждый элемент, который был добавлен/изменен?
- Соответствует ли FIRDataSnapshot протоколу NSCoding? Я хотел бы сохранить его локально в файле Plist ...
EDIT:
После прочтения более Firebase 3 документации, сейчас я ищу, чтобы получить все DB дерева в одном запросе, Является ли это возможным?
Мой код выглядит следующим образом
FIRDatabaseReference.goOnline()
var firebase = FIRDatabase.database().referenceWithPath("items")
firebase.observeEventType(.Value, withBlock: { snapshot in
print(snapshot.value)
if let snapshots = snapshot.children.allObjects as? [FIRDataSnapshot] {
for snap in snapshots {
if let postDictionary = snap.value as? Dictionary<String, AnyObject> {
print ("item received")
}
}
}
})
FIRDatabaseReference.goOffline()
Я нашел в документации goOnline() и goOffline() методы, и я думаю, что они позволят мне делать то, что я пытаюсь сделать (1) , есть ли у вас опыт в использовании этих методов? Firebase 3 docs на самом деле не helpul – jack87
Вызов 'goOffline()' и 'goOnline()' позволяет программно контролировать, подключена ли Firebase к своим серверам. По связанным вопросам см. [Этот список] (http://stackoverflow.com/search?q=%5Bfirebase%5D%5Bios%5D+gooffline). Если у вас возникли проблемы с тем, чтобы часть кода работала, покажите [минимальный код, который воспроизводит проблему в вашем вопросе] (http://stackoverflow.com/help/mcve). –
Спасибо, что вы действительно помогли, на самом деле я пытаюсь понять, как я могу использовать все возможности firebase для решения действительно простой проблемы. Есть ли способ загрузить дерево DB в формате JSON? – jack87