ユーザーがfirebaseのチームのメンバーであるかどうかをチェックする関数の補完ハンドラを記述しようとしています。Firebase Swift 3 CompletionハンドラBool
私は公共のクラスcustomFunctions
を持っていて、私はそこに関数ifUserIsMember
を作成しました。私は補完ハンドラのアイデアにちょっと固執しているようで、完了時にブール値をチェックする方法は分かりません。ここでは、クラスのための私のコードは次のとおりです。
@IBAction func signInButtonAction(_ sender: AnyObject) {
//check if user is a member of a team
let userid = self.uid
checkFunctions.ifUserIsMember(userid: userid) { success in
print("user is a member of a team")
self.updateLocation(type: "in")
}
}
をそれは関係なく、実際にそのuserid
をチェックあなたが正しく呼んでいるからです。問題はスナップショットにその子があることを確認することにあるようです。あなたがブレークポイントを置くなら、あなたは常に 'completionHandler(true)'を呼び出していますか? –
いいえ、ボタンが最初に押されたとき(ユーザーが実際にそのチームのメンバーになっているとき)、通常は常にfalseを返しますが、2度目はtrueを返します。 –
実際には心配しないでください - それは逆です。ユーザーがチームのメンバーでなくてもself.updatelocationを呼び出しています –