我正在以编程方式将UITapGestureRecognitor添加到我的一个视图中:
let gesture = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(modelObj:myModelObj)))
self.imageView.addGestureRecognizer(gesture)
func handleTap(modelObj: Model) {
// Doing stuff with model object here
}
我遇到的第一个问题是"‘#selector’的参数没有引用‘@objc’方法、属性或初始值设定项.
很酷,所以我在handleTap签名中添加了@objc:
@objc func handleTap(modelObj: Model) {
// Doing stuff with model object here
}
现在我得到的错误"方法不能标记为@objc,因为参数的类型不能在Objective-C中表示.
这只是一张建筑物 map 的图像,上面有一些大头针图像指示了兴趣点的位置.当用户点击其中一个管脚时,我想知道他们点击了哪个兴趣点,我有一个描述这些兴趣点的模型对象.我使用这个模型对象为图钉图像提供它在 map 上的坐标,所以我认为只需将该对象发送到手势处理程序对我来说会很容易.