【发布时间】:2021-02-22 16:13:15
【问题描述】:
我尝试查找此内容,但找不到停止执行 observe 类型的 firebase 查询的方法。每次数据库在引用处更新时,Observe 都会回调并继续运行它。但是我想在视图消失时停止运行此回调,并在视图出现时再次开始运行查询。
所以这就是我想要做的。不幸的是,observe 函数返回一个 int 而不是任何可用于停止查询执行的处理程序。
func viewWillDissappear(animated: Bool) {
...
stopQuery()
}
func viewWillAppear(animated: Bool) {
...
startQuery()
}
func startQuery() {
Database.database().reference().observe(.value) { (snapshot) in
//Rest of callback to be executed only when view will appear and is visible
}
}
func stopQuery() {
//Stop query callback execution started by startQuery
}
注意:我不希望答案依赖于使用变量来检查视图是否可见并跳过回调执行。我想完全取消当前正在运行的查询,并在下次出现视图时重新启动它。
【问题讨论】:
标签: ios swift firebase firebase-realtime-database callback