私は、ユーザーがユーザー名を検索して他のユーザーとゲームを開始できるようにしようとしています。そのユーザー名を持つユーザーが存在することを確認する必要があります。私は次のコードを使用していましたが、if
はelse
と呼ばれていますが、呼び出す必要はありません。スイフト&ファイアーベース|ユーザーがユーザー名で存在するか確認する
let checkWaitingRef = Firebase(url:"https://test.firebaseio.com/users")
checkWaitingRef.queryOrderedByChild("username").queryEqualToValue("\(username!)")
.observeEventType(.ChildAdded, withBlock: { snapshot in
if snapshot.value.valueForKey("username")! as! String == username! {
} else {
}
JSONデータツリー
{
"097ca4a4-563f-4867ghj0-6209288bd7f02" : {
"email" : "[email protected]",
"uid" : "097ca4a4-563f-4867ghj0-6209288bd7f02",
"username" : "test1",
"waiting" : "0"
},
"55a8f979-ad0d-438u989u69-aa4a-45adb16175e7" : {
"email" : "[email protected]",
"uid" : "55a8f979-ad0d-438u989u69-aa4a-45adb16175e7",
"username" : "test2",
"waiting" : "0"
}
}
をチェックし、「それ以外と呼ばれている場合が、私がしたいときに呼び出されません。」あなたはここで何を意味するのですか? – Khuong
@ khuong291 if文が "活性化"されているということです: 'if snapshot.value.valueForKey(" username ")!として! String == username! {'しかし、それが必要なときでさえ、else文は決して何もしません。 –
if文がtrueであるため、else文が実行されないので、正しいです。 – Khuong