首页 > 解决方案 > 只有实例方法可以声明@IBAction 错误?

问题描述

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

只能声明实例方法@IBAction

只有在我介绍了类似功能的 google 登录方法后才会出现此错误,之前它不是错误

   @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()
            }
        }
    }

标签: iosswiftfirebasefirebase-authentication

解决方案


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

您可能正在创建一个class.

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

推荐阅读