UISwipeGestureRecognizer抛出无法识别的select器发送错误

我在iOS应用程序中遇到unrecognized selector sent错误。 我试着根据其他类似的线程中提到的答案解决问题,但失败了。 请看下面的代码,并帮助我。

谢谢

 class ThirdViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. let leftSwipe = UISwipeGestureRecognizer(target: self, action: Selector(("HandleSwipes:"))) let rightSwipe = UISwipeGestureRecognizer(target: self, action: Selector(("HandleSwipes:"))) leftSwipe.direction = .left rightSwipe.direction = .right view.addGestureRecognizer(leftSwipe) view.addGestureRecognizer(rightSwipe) } func HandleSwipes(sender: UISwipeGestureRecognizer) { //if(sender.direction == .left) //{ // tabBarController?.selectedIndex = 1 //} } } 

像这样写select器。

迅速2.3或更低。

 let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:))) let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:))) 

Swift 3

 let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(sender:))) let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(sender:))) 

注意:一个build议是连击方法名称总是以小写不以大写开头。 所以如果你使用handleSwipes而不是HandleSwipes那就是连击。

你需要打电话

  override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:))) let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:))) leftSwipe.direction = .left rightSwipe.direction = .right view.addGestureRecognizer(leftSwipe) view.addGestureRecognizer(rightSwipe) } 

调用方法如

 func HandleSwipes(_ sender: UISwipeGestureRecognizer){ if(sender.direction == .left) { print("Swiped left") } }