簡體   English   中英

如何刪除firebase觀察者?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM