通话中额外的参数“完成”

时间:2019-01-08 00:00:13

标签: swift

编码新手,并在“ Auth.auth()。createUser(withEmail:emailField,password:passwordField,完成:{(user,error)in”)行中不断出现上述错误。我不知道这是怎么回事,任何建议都会有所帮助。

  @IBAction func createAccount (_ sender: AnyObject) {
    Auth.auth().createUser(withEmail: emailField, password: passwordField, completion: { (user, error) in
        if error != nil {
            print("Can't Create User")
        } else {
            if let user = user {
                self.userUid = user.user.uid
        }
        }
        self.uploadImg()
    }) {

2 个答案:

答案 0 :(得分:0)

方法签名中有一个额外的参数,以及一些错误的括号。

@IBAction func createAccount (_ sender: AnyObject) {
    Auth.auth().createUser(withEmail: emailField, password: passwordField) { (user, error) in
        if error != nil {
            print("Can't Create User")
        } else {
            if let user = user {
                self.userUid = user.user.uid
            }
        }
        self.uploadImg()
    }
}

答案 1 :(得分:0)

您看到的错误是由于代码中的语法错误造成的。

看起来您可能正在尝试在代码中使用Closures,但是它们的形式并不一定是:{ (params) -> return_type in statements }

在没有看到更多代码的情况下,很难确定您真正想要的是什么,但是随着结尾的闭包,它看起来应该像这样:

@IBAction func createAccount (_ sender: AnyObject) {
    Auth.auth().createUser(withEmail: emailField, password: passwordField) {
        (user, error) in
        if error != nil {
            print("Can't Create User")
        } else {
            if let user = user {
                self.userUid = user.user.uid
            }
        }
        self.uploadImg()
    }
}