在分离 firebase 句柄或删除所有观察者之前,我想检查我的应用程序中是否有观察者在监听,或者我想检查特定句柄/观察者是否正在监听。我如何实现这一点?
我找不到火力基地API来实现这一点。我使用此解决方法解决了它
var handle = ref.child("child").observe()
// check if nil before detaching listener
guard self.handle != nil else { return }
self.ref.removeObserver(withHandle: self.handle)
或者,
如果您没有在同一引用上设置多个观察器,则可以简单地使用观察器跟踪所有引用,只需在每个引用上调用removeAllObservers()
。这样,您就不必跟踪句柄并担心检查零值。
例如
var handle = ref.child("child").observe()
handle.removeAllObservers()