gpt4 book ai didi

swift - Firebase Observer 未在 Swift 中删除

转载 作者:可可西里 更新时间:2023-11-01 00:36:04 25 4
gpt4 key购买 nike

一流的:

let ref = FIRDatabase.database().reference()
var handler:FIRDatabaseHandle!

来自屏幕上的 View :

self.handler = self.ref.child("Requests").observe(.value, with: {(snapshot) in

最后:

override func viewDidDisappear(_ animated: Bool)
{
super.viewDidDisappear(animated)

self.ref.removeObserver(withHandle: self.handler)
self.ref.removeAllObservers()
}

不幸的是,当数据库在另一个 View 中改变时,上面 VC 中的观察者仍然被调用。我知道我不需要同时删除,但我正在尝试一切。从断点我可以看到删除代码正在触发,我还可以看到观察者只被调用一次。

我在移除观察者时遗漏了什么?

最佳答案

您正在从错误的引用中删除观察者。

let ref = FIRDatabase.database().reference().child("Requests")

尝试将其设为您的引用,然后:

self.handler = self.ref.observe(...

关于swift - Firebase Observer 未在 Swift 中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40697106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com