Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何修复firebase本地缓存损坏_Ios_Firebase - Fatal编程技术网

Ios 如何修复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

我试图从firebase读取旧值,更新它,然后用以下代码将其保存回:

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同样的细节?好的。行。谢谢