Как убрать пожарную базу наблюдателя? - PullRequest
0 голосов
/ 26 марта 2019

У меня есть tableView и refreshControl.Я хочу, чтобы данные этой таблицы перезагружались только тогда, когда я обновляю данные.Я сделал функцию, которая перезагружает данные, но она работает всегда.

Данные перезагружаются после pull-to-refresh, но также наблюдается обновление 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)
}

1 Ответ

2 голосов
/ 26 марта 2019

Вам нужно

let current = ref.child("doctors").child(userID!) 
 current.observe ///
current.removeAllObservers()

если вам нужно удалить Observers, вам нужно углубляться в добавление childs, так как removeAllObservers для родителей не удаляет их для childs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...