参见英文答案 >
@selector() in Swift?19
我正在学习Swift,需要点按我的方法,这里是代码:
我正在学习Swift,需要点按我的方法,这里是代码:
var gestureRecognizer = UITapGestureRecognizer() myView.addGestureRecognizer(gestureRecognizer) gestureRecognizer.addTarget(self,action: Selector(dismiss(nil)))
这返回错误 – 找不到接受提供的参数的init的重载
我也尝试过选择器(“dismiss:nil”)和Selector(“dismiss(nil)”),没有运气..
这里我打电话的方法
func dismiss(completion: (() -> Void)!) { self.dismissViewControllerAnimated(true,completion: completion) }
解决方法
只需使用方法的名称作为字符串:
gestureRecognizer.addTarget(self,action: "dismiss:")
编辑:在Swift 3.0中,您将必须使用以下语法:
gestureRecognizer.addTarget(self,action: #selector(dismiss(_:)))