Auth.auth().createUser(withEmail: emailTextField.text!, password: passwordTextField.text!, completion: { (user: User?, error: Error?)

can someone help?

@IBAction func singupBtn_TouchUpInside(_ sender: Any) {
        Auth.auth().createUser(withEmail: emailTextField.text!, password: passwordTextField.text!, completion: { (user: User?, error: Error?) in
            if error != nil {
                print(error!.localizedDescription)
                return
            }
            let ref = FIRDatabase.database().reference()
            let userReference = ref.child("users")
            // print(userReference.descrption()) : https
            let uid = user?.uid
            let newUserReference = userReference.child(uid!)
            newUserReference.setValue(["username": self.userNameTextField.text!, "email": self.emailTextField.text!])
            print("description: \(newUserReference.description())")
        })

i got this error-msg

Cannot convert value of type '(User?, Error?) -> ()' to expected argument type 'AuthDataResultCallback?' (aka 'Optional<(Optional, Optional) -> ()>')

Upvotes: 0

Views: 508

Answers (1)

Claudio Castro
Claudio Castro

Reputation: 1569

The parameters used are incorrect. Your "user: User?" is generating the error. try:

Auth.auth().createUser(withEmail: email, password: password, completion: { (authResult?, error?) in
   guard let user = authResult?.user, error == nil else {
       print(error!.localizedDescription)
       return
   }
   // your code
}

Upvotes: 1

Related Questions