【问题标题】:Only instance methods can be declared @IBAction error?只有实例方法可以声明@IBAction 错误?
【发布时间】:2020-02-27 07:04:09
【问题描述】:

我在构建代码中显示的函数时遇到此错误

只有实例方法可以声明@IBAction

这个错误是在我介绍了类似功能的谷歌登录方法之后才出现的,之前它不是错误

   @IBAction func SignInButtonAction(_ sender: Any) {

        guard let email = emailField.text else { return }
        guard let pass = passwordField.text else { return }


        Auth.auth().signIn(withEmail: email, password: pass) { user, error in
            if error == nil && user != nil {

                let setupcheckref = Firestore.firestore().collection("users").document(Auth.auth().currentUser!.uid)

                setupcheckref.getDocument{(document, error) in
                    if let document = document, document.exists{
                        let dataDescription = document.data().map(String.init(describing:)) ?? "nil"

                        self.checksetup = document.get("setupComplete") as! Bool

                        if self.checksetup == true {
                            if Auth.auth().currentUser!.isEmailVerified {
                                               self.performSegue(withIdentifier: "toLoginFeed", sender: self)
                                           }
                                           else{
                                               print("please verify your email")
                                               try! Auth.auth().signOut()



                                           }

                        }

                        else{

                            self.view.makeToast("Please Setup Your Account!", duration: 2.5)

                            self.performSegue(withIdentifier: "fromlogintosetup", sender: self)
                            SVProgressHUD.dismiss()
                        } }

                }







                // self.dismiss(animated: false, completion: nil)

            } else {
                print("Error logging in: \(error!.localizedDescription)")

               // self.resetForm()
               // SVProgressHUD.dismiss()
            }
        }
    }

【问题讨论】:

  • 检查你的括号是否平衡。
  • @Sweeper 谢谢,括号平衡是问题,已解决

标签: ios swift firebase firebase-authentication


【解决方案1】:

这意味着您只能将@IBActions 创建为类的实例方法

您可能正在创建 class

class VC: UIViewController {
    @IBAction func SignInButtonAction(_ sender: Any) {
        //your code...
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多