我编程方式添加到UITapGestureRecognizer我的观点一个选择:参数传递到Swift3
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的第一个问题“方法,属性,或初始化
酷,所以我加了@objc到handleTap签名:
@objc func handleTap(modelObj: Model) {
// Doing stuff with model object here
}
现在我得到的错误“方法不能被标记@objc因为TY参数pe不能在Objective-C中表示。
这只是一个建筑物地图的图像,其中一些图像指示了兴趣点的位置。当用户点击其中一个引脚时,我想知道他们感兴趣的哪个点,并且我有一个模型对象来描述这些兴趣点。我使用这个模型对象在地图上给出了它的坐标,因此我认为将对象发送到手势处理程序会很容易。
另一个功能时无法传递值那样的选择。为什么你不能将这个值保存在一个实例变量中并从选择器方法访问它? –
http://stackoverflow.com/questions/35635595/sending-a-parameter-argument-to-function-through-uitapgesturerecognizer-selector可能的重复。 –