我希望保持数据库的一部分同步,但只在加载某个视图时才需要实际的回调。当视图加载我正在调用时:
FIRDatabase.database().reference().child("data").observe(.childAdded...
然后当视图退出时我想调用
FIRDatabase.database().reference().child("data").removeAllObservers()
在我的应用程序的其他地方,我正在打电话:
FIRDatabase.database().reference().child("data").keepSynced(true)
我知道keepSynced()
只是在参考号中添加了一个观察者,所以当我致电removeAllObservers()
时会取消keepSynced(true)
吗?
答案 0 :(得分:1)
不,呼叫keepSynced(true)
表示设备上的实际数据将与Firebase服务器保持同步。
这意味着当您最终将侦听器添加到该位置时,您将能够非常快速地检索数据,因为设备已暂时保持同步。
禁用同步的唯一方法是致电keepSynced(false)
。