Swift 带有iAction的错误消息 导入UIKit 进口火基 类ViewController:UIViewController{ @IBOutlet弱var emailField:UITextField! @IBOUTLE弱var密码字段:UITextField! @IBOutlet弱键盘:UITextField! @IBVAR弱密码键盘:UITextField! @IBVar myaccountButton:UIButton! @IBVAR welcomeLabel:UILabel! 重写func viewDidLoad(){ super.viewDidLoad() } 重写函数didReceiveMemoryWarning(){ 超级。我收到了记忆警告() //处置所有可以重新创建的资源。 } //内置方法 覆盖功能触摸开始(触摸:设置,withEvent事件:UIEvent?){ self.view.endEditing(true) } @按下iAction func按钮(发件人:UIButton){ self.emailkeyboard.resignFirstResponder()辞职 self.passwordkeyboard.resignFirstResponder() } @iAction func myaccountbutton(发件人:AnyObject){ FIRAuth.auth()?.signInWithEmail(self.emailField.text!,密码:self.passwordField.text!,完成:{(用户,错误)在 } @iAction func createaccountButton(发件人:AnyObject){ FIRAuth.auth()?.createUserWithEmail(emailField.text!,密码:passwordField.text!){(用户,错误)在 如果错误==nil{ 打印(“用户创建”) 如果(FIRAuth.auth()?.currentUser)!=nil { self.myaccountButton.alpha=1.0 } 其他的 { self.myaccountButton.alpha=0.0 self.welcomeLabel.text=“” } } } } } }

Swift 带有iAction的错误消息 导入UIKit 进口火基 类ViewController:UIViewController{ @IBOutlet弱var emailField:UITextField! @IBOUTLE弱var密码字段:UITextField! @IBOutlet弱键盘:UITextField! @IBVAR弱密码键盘:UITextField! @IBVar myaccountButton:UIButton! @IBVAR welcomeLabel:UILabel! 重写func viewDidLoad(){ super.viewDidLoad() } 重写函数didReceiveMemoryWarning(){ 超级。我收到了记忆警告() //处置所有可以重新创建的资源。 } //内置方法 覆盖功能触摸开始(触摸:设置,withEvent事件:UIEvent?){ self.view.endEditing(true) } @按下iAction func按钮(发件人:UIButton){ self.emailkeyboard.resignFirstResponder()辞职 self.passwordkeyboard.resignFirstResponder() } @iAction func myaccountbutton(发件人:AnyObject){ FIRAuth.auth()?.signInWithEmail(self.emailField.text!,密码:self.passwordField.text!,完成:{(用户,错误)在 } @iAction func createaccountButton(发件人:AnyObject){ FIRAuth.auth()?.createUserWithEmail(emailField.text!,密码:passwordField.text!){(用户,错误)在 如果错误==nil{ 打印(“用户创建”) 如果(FIRAuth.auth()?.currentUser)!=nil { self.myaccountButton.alpha=1.0 } 其他的 { self.myaccountButton.alpha=0.0 self.welcomeLabel.text=“” } } } } } },swift,xcode,ibaction,Swift,Xcode,Ibaction,我想不出把)放在哪里。我以前问过,但我还是被卡住了。对不起,伙计们又问了。 我不确定上面的代码或iAction本身是否有错误,因此我发布了所有代码,这可能有助于找到问题。函数调用的signInWithEmail()缺少结尾括号,以及闭包参数的实际闭包。它要求在IBAction func createaccountButton旁边有一个“'),它还说只有实例方法可以声明为@IBAction import UIKit import Firebase class ViewController: UI

我想不出把
)放在哪里。
我以前问过,但我还是被卡住了。对不起,伙计们又问了。 我不确定上面的代码或iAction本身是否有错误,因此我发布了所有代码,这可能有助于找到问题。

函数调用的
signInWithEmail()
缺少结尾括号,以及闭包参数的实际闭包。

它要求在IBAction func createaccountButton旁边有一个“'),它还说只有实例方法可以声明为@IBAction
import UIKit
import Firebase

class ViewController: UIViewController {


    @IBOutlet weak var emailField: UITextField!
    @IBOutlet weak var passwordField: UITextField!
    @IBOutlet weak var emailkeyboard: UITextField!
    @IBOutlet weak var passwordkeyboard: UITextField!
    @IBOutlet weak var myaccountButton: UIButton!
    @IBOutlet weak var welcomeLabel: UILabel!


    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    //Built in method
    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
        self.view.endEditing(true)

    }

    @IBAction func buttonPressed(sender: UIButton) {
        self.emailkeyboard.resignFirstResponder()
        self.passwordkeyboard.resignFirstResponder()
    }

    @IBAction func myaccountbutton(sender: AnyObject) {
        FIRAuth.auth()?.signInWithEmail(self.emailField.text!, password: self.passwordField.text!, completion: { (user,error) in

    }

    @IBAction func createaccountButton(sender: AnyObject) {
        FIRAuth.auth()?.createUserWithEmail(emailField.text!, password: passwordField.text!) { (user, error) in
            if error == nil {
                print("User Created")

        if (FIRAuth.auth()?.currentUser) != nil
        {
            self.myaccountButton.alpha = 1.0
        }
        else
        {
            self.myaccountButton.alpha = 0.0
            self.welcomeLabel.text = ""
                    }
                }
            }
        }
    }
}