[英]How to remove firebase observer?
我有tableView和refreshControl。 我只想在刷新时才重新加载tableView的数据。 我已经完成了重新加载数据的功能,但是它始终可以工作。
刷新后重新加载数据,但还要观察update tableView。 如何将其删除? 我要进行观察,重新加载数据并删除观察(删除连接)。
func reloadTable() {
let ref = Database.database().reference()
let userID = Auth.auth().currentUser?.uid
postData.removeAll()
var databaseHandle: DatabaseHandle?
databaseHandle = ref.child("doctors").child(userID!).observe(.childAdded) {
(snapshot) in
if let actualPost = snapshot.value as? String {
self.postData.append(actualPost)
self.table.reloadData()
}
}
// I tried this:
ref.removeAllObservers()
// And this as well:
ref.removeObserver(withHandle: databaseHandle)
}
你需要
let current = ref.child("doctors").child(userID!)
current.observe ///
current.removeAllObservers()
如果您需要removeObservers,则需要在添加child时进行深入研究,因为对于parents的removeAllObservers
不会为childs删除它们
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.