【发布时间】:2017-01-23 09:00:12
【问题描述】:
我的视图类中有一个按钮,试图从一个单独的类中添加一个选择器函数,如下所示:
class ProfileView: UIView {
createAccountButton.addTarget(self, action: #selector(ProfileViewController.createAccountClicked), for: .touchUpInside)
}
class ProfileViewController: UIViewController {
func createAccountClicked() {
print("button press")
}
}
当我尝试在ProfileView 之外引用此方法时,我遇到了无法识别的选择器错误。但是,当我简单地将 createAccountClicked() 放入 ProfileView 并调用时,它会起作用:
createAccountButton.addTarget(self, action: #selector(self.createAccountClicked), for: .touchUpInside)
相反。我的问题是 - 是否可以从单独的类中调用函数?或者只是将函数放在同一个类中才是正确的设计模式?
【问题讨论】:
-
用
addTarget代替self你需要传递ProfileViewController的引用。 -
ProfileViewController.self工作!
标签: swift3 unrecognized-selector addtarget