@IBAction func usernameContinueBtnPressed(_ sender: Any) {
if let email = emailFieldSignUp.text, let password = passwordFieldSignUp.text {
Auth.auth().createUser(withEmail: email, password: password) { (user, error) in
if let error = error {
print(error.localizedDescription)
}
else{
let userData = ["firstName": self.firstNameSignUpField.text! as String ,
"lastName": self.lastNameSignUpField.text! as String,
"username": self.usernameSignUpField.text! as String
]
let ref = Database.database().reference()
ref.child("users").setValue(userData)
print("Sign Up Successfully.")
self.presentFeedPage()
}
}
}
}
嗨,我真的是xcode的新手。我想知道如何修复此代码,以便当用户使用电子邮件注册时,他们可以在Firebase数据库中存储其名字,姓氏和用户名。
答案 0 :(得分:1)
要保存用户数据,您需要首先初始化数据库。您在viewDidLoad()
首先,将其添加到您的viewDidLoad()
函数中:
var ref: DatabaseReference!
override func viewDidLoad() {
super.viewDidLoad()
ref = Database.database().reference()
// ... //
}
之后,要将用户存储在他们自己的记录ID中,您需要指定:
self.ref.child("users").child(user.uid).setValue(userData)
或者:
@IBAction func usernameContinueBtnPressed(_ sender: Any) {
if let email = emailFieldSignUp.text, let password = passwordFieldSignUp.text {
Auth.auth().createUser(withEmail: email, password: password) { (user, error) in
if let error = error {
print(error.localizedDescription)
}
else{
let userData = ["firstName": self.firstNameSignUpField.text! as String ,
"lastName": self.lastNameSignUpField.text! as String,
"username": self.usernameSignUpField.text! as String
]
self.ref.child("users").child(user.uid).setValue(userData)
print("Sign Up Successfully.")
self.presentFeedPage()
}
}
}
}
我还请您参考他们的文档,我喜欢firebase的两件事,即速度和他们的文档。