在Firebase

时间:2016-02-11 22:02:20

标签: ios swift firebase

我有一个使用.observeSingleEventOfType.Value的功能,可以从Firebase的子树中检索数据。我现在面临的问题是,每次我手动删除Firebase中的子/数据以测试此函数的行为方式时,它总是在删除后调用时第一次加载旧数据。第一次之后,它会加载正确的数据。

我尝试使用.ChildAdded.observeEventType,但行为没有改变。我现在Firebase.defaultConfig().persistenceEnabled已设置为true,我猜测问题是快照会从缓存中读取数据(如果可用),否则会检查Firebase数据库。

之前有人遇到过这类问题吗?

任何帮助都将受到高度赞赏。

更新: 我已经测试了启用和不启用持久性,结果证明我是正确的,当Firebase.defaultConfig().persistenceEnabled将过去的所有数据缓存到内存中时,观察函数将首先尝试从内存加载然后转到Firebase。

当我设置Firebase.defaultConfig().persistenceEnabled = false问题消失了。但是,我希望我的应用程序也可以脱机工作,这意味着我需要设置Firebase.defaultConfig().persistenceEnabled = true 是否有办法让所有观察函数缓存数据除了特定的那个?

解: 问题现在已解决,问题是当视图控制器被解除时我没有删除观察者。所以每当我再次进入视图时,另一个观察者会被调用,因此我总是会收到多个回调。

0 个答案:

没有答案