This question already has an answer here:
Swift: Gesture Recognizer unrecognized selector sent to instance
(1个答案)
两年前关闭。
我想用Swift 3改写这一行
银行代码2:
让longPress:uilongpressgesturecognizer=uilongpressgesturecognizer(目标:self,操作:“longPressDetected”)
银行代码3:
let longPress: UILongPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: Selector(("longPressDetected")))

但它似乎是在犯这个错误
unrecognized selector sent to instance

试图调用的函数是:
func longPressDetected(_ sender: Any){}

最佳答案

对应的选择器

func longPressDetected(_ sender: Any){}

在Swift 3中是
#selector(longPressDetected(_:))

或者干脆
#selector(longPressDetected)

附带说明:由于发件人是一种不同的类型,您应该指定以下内容:
func longPressDetected(_ sender: UILongPressGestureRecognizer){}

不要注释编译器可以推断的类型。

关于ios - 手势抛出无法识别的选择器错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42960175/

10-09 16:26