【发布时间】:2018-09-08 17:45:16
【问题描述】:
如何检查 Firebase 中是否存在密钥?我已经看到这个链接here,但它适用于 Firebase 3,它不适用于我的情况。因此,就我而言,我想检查用户名是否存在,如果存在,则不要注册用户,但如果不存在则注册。我有一些类似的东西:
let usersDB = Database.database().reference().child("Users")
var taken = false
usersDB.observeSingleEvent(of: .value, with: { (snapshot) in
if snapshot.hasChild(username) {
taken = true
self.errorLabel.text = "Username already taken."
}
})
if !taken {
// Email registration
Auth.auth().createUser(withEmail: email, password: password, completion: { (user, error) in
if error != nil {
print(error!.localizedDescription)
self.errorLabel.text = error!.localizedDescription
} else {
// Allows for username log in
usersDB.child(username).setValue(["email" : user?.email])
self.performSegue(withIdentifier: "goToGroups", sender: self)
}
})
}
observeSingleEvent 是之前类似帖子的解决方案,但它只在我在这一行添加一个孩子usersDB.child(username).setValue(["email" : user?.email]) 后运行,它从未运行过。有没有其他方法可以做这个?
【问题讨论】:
标签: ios swift firebase firebase-realtime-database