问题描述
我在同步本地和远程数据时遇到麻烦。
-
启用
Database.database().isPersistenceEnabled = true
-
在
fistVC
中获取数据:func getScheduleList( completion: @escaping([String: Any]?) -> () ) { _REF.child(self.CURRENT_USER_TOKEN).child("list").keepSynced(true) // tried without _REF.child(self.CURRENT_USER_TOKEN).child("list").observe(.value) { (dataSnapshot) in guard let value = dataSnapshot.value as? [String: Any] else { completion( nil) return } completion( value) } }
-
在
secondVC
中,我从child("list")
中删除了一些值
firstVC
中的示例:
-
getScheduleList { (value) in print (value) } // print: [key1:val1,key2:val2]
- 删除val2:
_REF.child(self.CURRENT_USER_TOKEN).child("list").child("key2").removeValue()
- 返回第1步,打印结果将相同
print: [key1:val1,key2:val2]
但是如果我将禁用本地缓存Database.database().isPersistenceEnabled = false
,则第3步将返回正确的数据print: [key1:val1]
我如何仍然可以保存isPersistenceEnabled并获取实际数据?
p.s我删除一些数据时出现此错误(或者可能是我的错误),如果我要添加的话就可以正常工作
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)