检查我是否有观察者在Firebase Swift中监听

时间:2018-10-15 06:56:31

标签: ios swift firebase firebase-realtime-database

在分离Firebase句柄或删除所有观察者之前,我想检查是否有观察者在我的应用程序中监听,或者我想检查特定的句柄/观察者是否正在监听。我该如何实现?

2 个答案:

答案 0 :(得分:1)

我找不到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)

答案 1 :(得分:0)

或者,
如果您没有在同一个参考上设置多个观察者,则只需与观察者一起跟踪所有参考,然后对每个观察者调用removeAllObservers()即可。这样,您就不必跟踪句柄并担心检查nil值。
例如,

var handle = ref.child("child").observe()
handle.removeAllObservers()