无法识别的select器发送到实例Swift 3

我想用selector实现TapGestureRecognizer ,下面是我添加tapGestureRecognizer到我的imageView的代码

 let tapFirstGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(assignImage(_:))) firstImageView.isUserInteractionEnabled = true firstImageView.tag = 1 firstImageView.addGestureRecognizer(tapFirstGestureRecognizer) 

这是行动方法

 func assignImage(_ sender: UIImageView){ imagePicker.allowsEditing = false imagePicker.sourceType = .photoLibrary imageViewTag = sender.tag present(imagePicker, animated: true, completion: nil) } 

编译器不断的说

[UITapGestureRecognizer标记]:无法识别的select器发送到实例0x6080001a7700'

问题出在你的方法声明和给UIGestureRecognizer的对象分配tag 。 像这样改变你的方法声明。

 func assignImage(_ sender: UITapGestureRecognizer) 

要么

 func assignImage(_ sender: UIGestureRecognizer) 

编辑:使用UITapGestureRecognizer访问UITapGestureRecognizer对象。

 func assignImage(_ sender: UITapGestureRecognizer) { if let imageView = sender.view as? UIImageView { } } 

注意:您需要设置tag与您的UITapGestureRecognizer不在您UITapGestureRecognizer