有没有办法手动立即刷新Firebase缓存,使用iOS SDK来提取最新数据(假设您在线)?例如,如果我对Firebase上的数据进行了一些更改,我希望我的应用能够立即反映出来,但启用持久性后,通常需要重新启动应用。
我最近在我的应用中启用了持久性:
Firebase.defaultConfig().persistenceEnabled = true
效果很好,但现在我的应用程序即使使用互联网连接也不会经常刷新数据。我使用了here提到的离线功能。
答案 0 :(得分:10)
我在持久性方面遇到了同样的问题,这里有两个解决方案:
1)继续使用observeSingleEventOfType
,但设置为ref.keepSynced(true)
。这不会监听数据中发生的变化,但会在执行此代码后刷新数据。我为我的FAQ部分选择了这个选项,只需在屏幕打开时更新一次(viewDidLoad)。
2)使用observeEventOfType
。这将始终使您的数据保持同步,并在数据更改后立即再次执行。