我正在我的firebase数据库中创建一个新用户,我正在尝试为该用户设置更多的值:name、email、password、dob等。

/* Create User with Email and Password Provided */
    Auth.auth().createUser(withEmail: emailTextfield.text!, password: passwordTextField.text!, completion: { (user, error) in
        /* Handle errors that may occur while Creating user in Firebase */
        if let error = error {
            let alertController = UIAlertController(title: "Error", message: error.localizedDescription, preferredStyle: .alert)
            let OKAction = UIAlertAction(title: "OK", style: .default) { (action: UIAlertAction!) in

            }
            alertController.addAction(OKAction)
            self.present(alertController, animated: true, completion:nil)
            self.signUpButton.isEnabled = true
            return
        } else {

            SVProgressHUD.show(withStatus: "Loading")
            let rootRef = Database.database().reference()
            let userRef = rootRef.child("users").child(user!.uid)

该错误发生在完成块中,因为我正试图访问子项(用户!.uid)。我希望能够设置它的值,例如:
rootRef.userRef.child("name").setValue(self.nameTextfield.text!)

但我不能,因为当我访问(user)参数时,回调肯定有问题。xcode states'authdataresult'没有成员uid。
任何帮助都非常感谢。

最佳答案

由于错误消息谈到AuthDataResult,您似乎必须执行以下操作:

let userRef = rootRef.child("users").child(user!.user!.uid)

我还建议您查看Firebase guide on creating a user

07-27 20:54