我应该始终在viewDidDisappear()中删除Firebase侦听器吗?

时间:2018-02-24 16:41:38

标签: ios swift firebase firebase-realtime-database

对于我的应用程序的主页,就像Facebook的新闻源一样,我遵循David East的建议,在viewWillAppear()中添加监听器,并在viewDidDisappear()中将其删除( https://firebase.googleblog.com/2015/10/best-practices-for-ios-uiviewcontroller_6.html)。这样做,我必须清除我的数据模型数组并重新加载viewDidDisappear()中的集合视图,否则当视图再次出现并重新附加侦听器时将加载重复项。每当用户返回主页面时,这会导致页面空白显着的时间。

鉴于用户将花费大部分时间在主页上,我只是想知道是否绝对有必要删除监听器?如果是这样,有什么方法可以处理它以防止出现空白页?

另外,作为一个附带问题,我应该在哪里添加我的通知监听器(以监听朋友请求等事件)?我认为它们应该一直处于开启状态,并且不应该与任何视图控制器相关联。

1 个答案:

答案 0 :(得分:1)

这里没有一个通用的建议。事实上,你所拥有的是经典的速度与尺寸权衡。

如果您认为额外的内存使用量会超过您带来的带宽+时间,那么您可以在主页面未显示时自由离开听众。当用户返回主页时,请确保附加其他侦听器。