#selector inside object extension - 未解析的标识符

#selector inside object extension - unresolved itendifier

使用 Swift 的新 2.2 版本,我无法使用 #selector 从(相同的)扩展中调用扩展中定义的方法。编译器说 unresolved itendifier for doSomething(_:).

extension UIViewController {

func doSomething(){
    //...
}

func setTapGestureRecognizer(){
    let recognizer = UITapGestureRecognizer(target: self, action: #selector(doSomething(_:))) //unresolved itendifier 
    view.addGestureRecognizer(recognizer )
}

}

我已经尝试用 @objc 标记方法 doSomething() 但没有成功。

你的函数没有输入参数。 修正为:

func setTapGestureRecognizer(){
    let recognizer = UITapGestureRecognizer(target: self, action: #selector(doSomething))
    view.addGestureRecognizer(recognizer)
}