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

Vys*_*akh 1 uigesturerecognizer ios swift swift3

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

谢谢

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
        //}
    }
}
Run Code Online (Sandbox Code Playgroud)

Nir*_*v D 5

像这样写选择器.

Swift 2.3或更低.

let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:)))
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:)))
Run Code Online (Sandbox Code Playgroud)

斯威夫特3

let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(sender:)))
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(sender:)))
Run Code Online (Sandbox Code Playgroud)

注意:一个建议是batter方法名称总是以小写而不是大写开头.所以如果你使用handleSwipes而不是HandleSwipes.