【发布时间】:2017-04-05 09:05:50
【问题描述】:
我快速使用 Firebase 数据库。当我使用 databaseReference.observe(...) 观察时,我可以轻松地从 DatabaseReference 中删除观察者:
databaseHandle = databaseReference.observe(
.value,
with: { (snapshot) in ... },
withCancel: { (error) in ... })
...
databaseReference.removeObserver(withHandle: databaseHandle)
我的问题是当我使用databaseReference.observeSingleEvent(...) 时。因为它不返回 FIRDatabaseHandle,所以我无法在需要时移除观察者。
我知道databaseReference.observeSingleEvent(...) 会在观察者被触发一次后立即将其移除。但是,有时我需要在观察者被触发之前将其移除。
我也知道我可以使用databaseReference.removeAllObservers(),但这对我来说不是一个方便的解决方案。
你们中有人知道我如何过早地从 databaseReference 中删除 Observer(使用 observeSingleEvent(...) 创建)吗?
提前谢谢你
【问题讨论】:
-
查看我的更新答案
标签: ios swift firebase firebase-realtime-database