【发布时间】:2016-12-12 23:06:41
【问题描述】:
我正在尝试在 XCode 中制作手势识别器,以便我可以点击我的 MKMapView 并执行一些操作。但是,每当我长按地图时,我都会收到“发送到实例的无法识别的选择器”。
这是我在 viewDidLoad 中的代码:
let gestureRecognizer = UILongPressGestureRecognizer(target: self, action: "handleTap:");
self.mapViewPlace.addGestureRecognizer(gestureRecognizer);
这是稍后的功能:
func handleTap(gestureReconizer: UILongPressGestureRecognizer) {
}
有什么想法吗?
【问题讨论】:
-
请添加错误的完整措辞。错误通常会告诉你哪里出了问题,这就是它的用途。
-
尝试将 action:"handleTap" 改为 action:@selector("handleTap"
-
Neo 很接近 - 它是 #selector,而不是 @selector。
-
我不希望您发布的代码能够在 Swift 3 中编译。动作的新语法是 action:#selector(selector_name),正如@dfd 在他的回答中所描述的那样。
-
是的。如果我可以添加评论,我们需要在这个网站上更好地区分 Swift 3 与否。 (那个。不是 Swift 2.x。)