我试图在Firebase中创建一个用户,并在创建用户时保存用户信息。这是我创建用户的操作函数:

@IBAction func createAccountButton(_ sender: AnyObject) {

            FIRAuth.auth()?.createUser(withEmail: emailTextField.text!, password: passwordTextField.text!, completion: { (user, error) in
                if error != nil {
                    print(error!.localizedDescription)
                } else {
                    let userID =  (user?.uid)! as String
                    self.bringerUser.userRef = userID as String
                    let userEmail:String = self.emailTextField.text!
                    print(userEmail)
                    print(self.bringerUser.userRef! as String)
                    self.ref.child("users").child(self.bringerUser.userRef! as String).child("userInfo").setValue(["email": emailTextfield.text])
                }
            })
    }

尝试在Firebase上访问和写入数据时,用户ID为nil,但如果我打印它,它可以正常工作。我得到的错误是:
致命错误:在展开可选值时意外找到nil

最佳答案

尝试:-

FIRDatabase.database().reference().child("users").child(FIRAuth.auth()!.currentUser!.uid).child("userInfo").setValue(["email": emailTextfield.text])

关于ios - 在Firebase上创建用户时设置值-Swift,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40390495/

10-09 05:53
查看更多