启用Firebase持久性数据会返回奇怪的结果

时间:2016-09-06 13:36:30

标签: ios swift firebase firebase-realtime-database

我有一个刷新按钮,可以重新加载屏幕上的帖子。但是,我发现当firebase持久性数据设置为true时,除非我刷新两次,否则刷新不会完全返回我想要的内容?

这是代码

DataService.ds.REF_POSTS.child(postKey).observeSingleEventOfType(.Value, withBlock: { (snapshot: FIRDataSnapshot) in
    if let postDict = snapshot.value as? Dictionary<String, AnyObject> {                
        if postKey == "-KQtLYEDA5FiYmcR5sVm" {
                print(postDict["commentCount"])
            }

我使用上面的代码检查firebase数据库中的单个条目。在下面的print语句之后设置断点是结果

  1. 评论计数最初在数据库中和我的屏幕上按预期为0。我手动将条目更改为100并点击刷新,注释计数打印为0仍然是。但是,当我再次点击刷新时,这次commentCount返回100,这就是我想要的。

  2. 我尝试在禁用持久性的情况下进行上述实验,结果正如我所期望的那样,第一次返回时就是100。

  3. 作为一个附带问题,我的整个应用程序是围绕observeSingleEventOfType设计的,我想知道如何启用,禁用持久性数据会影响数据的加载,重新加载和更新方式?

0 个答案:

没有答案