Ios 如何修复firebase本地缓存损坏
我试图从firebase读取旧值,更新它,然后用以下代码将其保存回:Ios 如何修复firebase本地缓存损坏,ios,firebase,Ios,Firebase,我试图从firebase读取旧值,更新它,然后用以下代码将其保存回: var unreadChatsRef = usersRef.childByAppendingPath("\(user.objectId!)/unreadChats/\(self.chat.objectId!)") unreadChatsRef.observeSingleEventOfType(FEventType.Value, withBlock: { (snapshot) -> Void in if snaps
var unreadChatsRef = usersRef.childByAppendingPath("\(user.objectId!)/unreadChats/\(self.chat.objectId!)")
unreadChatsRef.observeSingleEventOfType(FEventType.Value, withBlock: { (snapshot) -> Void in
if snapshot.exists() {
var msgCnt = snapshot.value as? Int
msgCnt = (msgCnt ?? 0) + 1
unreadChatsRef.setValue(msgCnt)
}
})
之前我犯了一个错误,使用了observeEventType而不是单个事件,因此通过保存值,它会触发自身,一次又一次地更新值。我在调试会话中看到这一点时停止了iOS程序。不知何故,随后的更新都没有更新到firebase服务器。我通过调用Firebase.defaultConfig().persistenceEnabled=true
启用了本地缓存。因此,最终得到的缓存值与服务器上的值不同
让我困惑的是,即使我的其他iOS聊天客户端更新了这个号码,这个iOS设备(上面的代码)仍然会看到缓存的值,并且永远无法从服务器获取正确的值。我做错什么了吗?如何让我的程序使缓存失效并从服务器获取新副本?嘿,泉,你能发邮件吗support@firebase.com同样的细节?好的。行。谢谢