【发布时间】:2018-02-06 17:45:04
【问题描述】:
在 Swift 中是否可以有一个带参数的静态函数的选择器?
我尝试的语法是这样的:
button.addTarget(VCPresenter.self, action: #selector(VCPresenter.handleBackButton(_:parentNavigationController!)), for: .touchUpInside)
静态方法是这样的
@objc public static func handleBackButton(_ controller: UINavigationController) {
controller.popViewController(animated: true);
}
当我编译时,我得到
错误:'#selector' 的(24, 56) 参数未引用 '@objc' 方法、属性或初始化程序
这有可能吗?
【问题讨论】:
-
您仍然需要一个
NSObject子类实例作为目标参数(可能是一个共享类),选择器确实可以表示一个静态方法。
标签: swift function swift3 selector