我正在寻找类似于Firebase completion block的内容,以确认我在切换到下一个ViewController之前已删除了所有Firebase回调

ref.removeAllObservers()
let resultController = self.storyboard!.instantiateViewControllerWithIdentifier("Home") as! UIViewController
self.presentViewController(resultController, animated: true, completion: nil)

最佳答案

Firebase API中没有“向我显示所有注册的观察者”方法。

就是说:如果您对徘徊的观察者感到困惑,则可能将它们注册在一个子节点中,但仅在顶级引用上称为removeAllObservers。您必须将每个观察者从您最初注册时的确切参考/孩子中删除。

参见web docs for off :

在父侦听器上调用off()不会自动删除在子节点上注册的侦听器,还必须在任何子侦听器上调用off()才能删除回调。

关于ios - 如何确认ref.removeAllObservers()已完成?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31266434/

10-09 00:02