无法删除Firestore侦听器

时间:2020-06-01 06:12:50

标签: swift firebase google-cloud-firestore

我调用remove(),但侦听器仍在工作。 我只想将result(true)称为onece。

var listener: ListenerRegistration!

func setListener(result:@escaping(Bool)-> Void){
    listener = ref.addSnapshotListener { (querySnapshot, err) in
        if ...
            result(true)
            self.removeListener
    } 
}

func removeListener() {
    if listener != nil {
        listener.remove()
    }
}

1 个答案:

答案 0 :(得分:0)

我正在将可变侦听器设置为同一变量。那就是原因。