keepSynced(true)不会立即获取该位置的数据

时间:2016-07-08 16:07:20

标签: ios swift firebase firebase-realtime-database

正如标题所述,我使用keepSynced(true)获取本地数据,并且必须返回视图以获取最新(新鲜)数据。

我有以下设置:

var baseRef: FIRDatabaseReference!

在viewDidLoad中:

baseRef = FIRDatabase.database().reference()
baseRef.child("Posts").keepSynced(true)

然后在viewWillAppear:

baseRef.child("Posts").queryOrderedByChild("sortTimestamp").observeSingleEventOfType(.Value, withBlock: { snapshot in //etc

我得到了本地数据,根据这篇文章,数据应该是新鲜的,因为我在附上一个观察者之前一直保持着:

https://groups.google.com/forum/#!searchin/firebase-talk/keepSynced/firebase-talk/SK9WVZvkHsU/HVjxtnv5JoYJ

" keepSynced在启用磁盘持久性和禁用它的情况下都能正常工作。在您附加监听器之前,它会立即获取您启用它的位置/查询的数据"

然而,正如所提到的,我必须再次触发这个,通过走出viewController(几乎像刷新)来获取新数据

我确实尝试了正常的observeEventType(.Value以及.ChildAdded,但是使用了分页系统我使用observeSingleEventOfType除了上面的问题之外效果更好

不确定我缺少什么,我们非常感谢任何建议。

0 个答案:

没有答案