gpt4 book ai didi

swift 和火力地堡 |检查用户是否存在用户名

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:07 25 4
gpt4 key购买 nike

我试图让用户开始游戏并通过搜索他们的用户名关注其他用户。我需要能够确保具有该用户名的用户存在。我使用的是以下代码,但虽然 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" : "test1@tes1.com",
"uid" : "097ca4a4-563f-4867ghj0-6209288bd7f02",
"username" : "test1",
"waiting" : "0"
},
"55a8f979-ad0d-438u989u69-aa4a-45adb16175e7" : {
"email" : "test2@test2.com",
"uid" : "55a8f979-ad0d-438u989u69-aa4a-45adb16175e7",
"username" : "test2",
"waiting" : "0"
}
}

最佳答案

简单修复:

不要使用 .childAdded,因为当查询没有找到任何内容时, block 将不会执行。

改为使用 .Value 并检查 NSNull

    let checkWaitingRef = Firebase(url:"https://test.firebaseio.com/users")
checkWaitingRef.queryOrderedByChild("username").queryEqualToValue("\(username!)")
.observeEventType(.Value, withBlock: { snapshot in

if ( snapshot.value is NSNull ) {
print("not found)")

} else {
print(snapshot.value)
}
})

关于 swift 和火力地堡 |检查用户是否存在用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36442114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com