是否可以在Swift中使用带参数的静态函数选择器?
我尝试的语法是:
button.addTarget(VCPresenter.self, action: #selector(VCPresenter.handleBackButton(_:parentNavigationController!)), for: .touchUpInside)
,静态方法就是这个
@objc public static func handleBackButton(_ controller: UINavigationController) {
controller.popViewController(animated: true);
}
当我编译时,我得到了
错误:(24,56)' #selector'并不是指' @ objc'方法,属性或初始化程序
这甚至可以吗?
答案 0 :(得分:0)
我使用单一视图应用程序和这项工作制作了新项目。如果这对您有用,请告诉我。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let button = UIButton()
button.addTarget(self, action: #selector(ViewController.buttonAction(x:y:)), for: .touchUpInside)
}
@objc public static func buttonAction(x: Int, y: String){
print("Test")
}
}