我可以使用句柄删除Firebase观察者,只使用根参考吗?

时间:2017-03-20 22:17:40

标签: ios swift firebase firebase-realtime-database

我让所有观察员都在一个自定义数据库'具有一些函数和协议的类,它们观察引用并通过闭包传递结果。因此,我在某些视图控制器中不需要Firebase引用,只是该类的一个实例。 所以我的问题是,删除一个带有句柄的观察者是否需要特定的引用?

或者我可以这样做 FIRDatabase.database().reference().removeObserver(withHandle: handle) (可能有某些特定用户的路径),删除观察者?

1 个答案:

答案 0 :(得分:6)

不幸的是,您需要在添加它的同一节点上删除它。请记住,您可以在多个节点位置添加处理程序,甚至可以在每个位置添加多个处理程序,因此这是有道理的。

请注意,您可以调用removeAllObservers删除任何引用,而不使用句柄,但同样,这只会影响特定路径,并且不会递归地应用于子路径。