gpt4 book ai didi

ios - Firebase InvalidPathValidation hasChild 在 Swift 中

转载 作者:行者123 更新时间:2023-11-30 11:51:34 30 4
gpt4 key购买 nike

我目前正在尝试编写一个函数,该函数允许知道用户名是否已被使用。

我使用 Firebase 来做到这一点。

这是我的代码:

// Var REF_USERNAME_LIST within Api.User
var REF_USERNAME_LIST = Database.database().reference().child("username-list")

let username = "username.test"

let ref = Api.User.REF_USERNAME_LIST
ref.observeSingleEvent(of: .value, with: { (snapshot) in
if snapshot.hasChild(username){
print("taken")
return
} else {

print("good")
}
}) { (error) in
print(error.localizedDescription)
}

如果我使用函数 hasChild,我可能会遇到这个问题:

Terminating app due to uncaught exception 'InvalidPathValidation', reason: '(hasChild:) Must be a non-empty string and not contain '.' '#' '$' '[' or ']''

我希望能够在用户名中使用点。

您知道我如何实现这种可能性以及允许知道用户名是否已被占用的函数吗?

编辑:

这是数据库的一部分:

enter image description here

新架构:

enter image description here

最佳答案

let ref = Api.User.REF_USERNAME_LIST
ref.observeSingleEvent(of: .value, with: { (snapshot) in
if snapshot.value is NSNull{
//handle null error
}
else{
if let usernameList = snapshot.value as? NSDictionary{
//or [String: String]
for keys in usernameList.allKeys{
if (usernameList.getObject(for: keys) as! String == testUsername){
//username exists
}
}
}
}
}) { (error) in
print(error.localizedDescription)
}

关于ios - Firebase InvalidPathValidation hasChild 在 Swift 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48284136/

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