当我选择 register.. 数据被发送到 Firebase 身份验证但不存储在数据库中?谁能告诉我哪里出错了?
func handleRegister(){
// Validation
guard let email = emailTextField.text, let password = PassTextField.text, let name = nameTextField.text
else{
print("Please provide an Email and Password")
return
}
FIRAuth.auth()?.createUser(withEmail: email, password: password, completion: { (user: FIRUser?, error) in
if error != nil {
print(error!)
return
}
// Successfully authenticated user
// Saving Data to the Database
let ref = FIRDatabase.database().reference(fromURL: "https://chat-47e5b.firebaseio.com/")
let values = ["name": name, "email": email]
ref.updateChildValues(values, withCompletionBlock: { (err,ref)
in
if err != nil {
print(err!)
return
}
print("Saved user successfully into Firebase")
})
})
}
最佳答案
你做的不对,你应该首先获得对数据库的引用:
self.ref = FIRDatabase.database().reference()
然后:
let values = ["name": name, "email": email]
self.ref.child("users").child(user.uid).setValue(values)
作为旁注,将其转换为:
if error != nil {
print(error!)
return
}
对此:
guard let error = error else {
print(error)
return
}
关于ios - 如何在 Swift 中将注册用户写入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42314731/