ios - 只有实例方法可以声明@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()
}
}
}
解决方案
这意味着您只能创建@IBActions
为类的实例方法。
您可能正在创建一个class
.
class VC: UIViewController {
@IBAction func SignInButtonAction(_ sender: Any) {
//your code...
}
}
推荐阅读
- azure-devops - 提示用户在 Azure DevOps 管道中继续
- mysql - 在查询期间失去与 Mysql Server 的连接我尝试了很多解决方案但无法正常工作
- php - Laravel 将项目从 Ubuntu 服务器迁移到本地 XAMPP
- c++ - 如何在返回嵌入类型的泛型类之外实现成员函数?
- c - 如何链接多个 .c 文件
- bash - 替换多 fasta 文件 awk 的标题
- intellij-idea - Groovy 脚本未在 Camel(项目)中执行
- javascript - 如何使用 php 变量通过 onesignal 发送通知?
- javascript - javascript中的逆运算
- sql - 从文本字段中提取日期