首页 文章

Firebase 3更新本地缓存

提问于
浏览
0

我正在开发一个从Firebase数据库接收数据的iOS应用程序 . 我需要保留本地版本的数据库,我发现Firebase的离线功能非常棒 . 现在,

  • 有没有办法禁用自动同步,只有当用户点击某个按钮时才会更新?

  • 有没有办法只更新新的或修改过的元素而不是重新下载所有内容?

2-双 . 有没有办法知道已添加/修改的每个元素?

  • FIRDataSnapshot是否符合NSCoding协议?我想将它保存在plist文件中...

编辑:

在Firebase 3文档中阅读更多内容后,我现在希望在单个请求中获取所有数据库树,是否可能?

我的代码如下

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()

1 回答

  • 1
    • 是的 . 您可以使用observeSingleEventOfType以编程方式控制何时加载数据 .

    • 不是在使用 observeSingleEventOfType 时,因为你有're effectively disabling Firebase'的缓存 .

    • FIRDataSnapshot 不符合NSCoding协议

相关问题