gpt4 book ai didi

ios - Swift - 如何在 firebase 中添加已删除的观察者

转载 作者:行者123 更新时间:2023-11-30 12:09:40 26 4
gpt4 key购买 nike

我有一个像这样的 Firebase 观察者

    let refHandle = firebaseRef.observe(of: DataEventType.value) { (snapshot) in
...
}

它工作得很好,在某一时刻我删除了这个观察者,因为我希望它停止观察,直到我更新值。我通过使用 refHandle 来做到这一点

firebaseRef?.removeObserver(withHandle: refHandle)

现在更新值后如何再次添加相同的观察者? Firebase 没有提供任何使用 refHandle 添加观察者的函数。我唯一的功能就是这个

firebaseRef?.addObserver(NSObject, forKeyPath: String, options: NSKeyValueObservingOptions, context: UnsafeMutableRawPointer?)

现在我怎样才能从我之前的观察者那里获取所有这些值,以便我可以将它们传递给这个函数。

最佳答案

要在 Fire Base 中添加观察者,首先要创建 FIR 子级的数据库引用。

例如。 让 dbRef: FIRDatabaseReference = FIRDatabase.database().reference().child("child_name")

添加观察者,例如,

dbRef.observe(.value, with: { (snapshot) in
let child = snapshot.children // return number of child
})

对于删除观察者,

为该引用创建处理程序,

var handle: UInt = 0
handler = dbRef.observe(.value, with: {(snapshot) in

snapshot.ref.removeValue(completionBlock: {(error, ref) in

if (error != nil)
{
print("error is \(error)")
return
}
else
{
dbRef.removeObserver(withHandle: handle) // remove specific observer
dbRef.removeAllObservers()// remove all observer
print("child removed successfully")
}
})
})

关于ios - Swift - 如何在 firebase 中添加已删除的观察者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46233373/

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