remove()を呼んでいますが、その後もリスナーが働いてしまい、result(true)が複数回呼ばれてしまいます。
result(true)を1回のみ実行されるようにしたいです。
Swift
1var listener:ListenerRegistration! 2 3func setListener(result:@escaping(Bool)-> Void){ 4 listener = ref.addSnapshotListener({ 5 (querySnapshot, err) in 6 if ... 7 result(true) 8 self.removeListener 9 }) 10} 11 12func removeListener() { 13 if listener != nil { 14 listener.remove() 15 } 16}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。