我正在以编程方式将UITapGestureRecognizer添加到我的视图之一:
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中表示参数的类型。
它只是建筑物地图的图像,其中一些图钉图像指示了兴趣点的位置。当用户点击这些引脚之一时,我想知道他们轻按了哪个兴趣点,并且我有一个描述这些兴趣点的模型对象。我使用此模型对象为钉图提供其在地图上的坐标,因此我认为将对象发送到手势处理程序会很容易。