我有一个刷新按钮,可以重新加载屏幕上的帖子。但是,我发现当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语句之后设置断点是结果
评论计数最初在数据库中和我的屏幕上按预期为0。我手动将条目更改为100并点击刷新,注释计数打印为0仍然是。但是,当我再次点击刷新时,这次commentCount返回100,这就是我想要的。
我尝试在禁用持久性的情况下进行上述实验,结果正如我所期望的那样,第一次返回时就是100。
作为一个附带问题,我的整个应用程序是围绕observeSingleEventOfType设计的,我想知道如何启用,禁用持久性数据会影响数据的加载,重新加载和更新方式?