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

Unrecognized selector sent to instance 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 tag]: unrecognized selector sent to instance 0x6080001a7700'

问题在于您的方法声明以及将 tag 分配给 UIGestureRecognizer 的对象。像这样更改您的方法声明。

func assignImage(_ sender: UITapGestureRecognizer)

func assignImage(_ sender: UIGestureRecognizer)

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

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

    }
}

注意:你需要设置tag与你imageView不与你UITapGestureRecognizer