【发布时间】:2014-08-17 15:13:27
【问题描述】:
关于这个问题,我现在对自己失去了信心:
我有一个 CLLocation 子类,它添加了一些属性并采用了<MKAnnotation> 协议,所以我可以在 mapView 中显示它。
注释显示在地图上,一切都按预期工作,直到我尝试使我的“位置注释”可拖动。
要实现可拖动或动画注释,我们必须实现setCoordinate: setter。
看到CLLocation已经拥有“只读”属性“坐标”,我认为只需将其重新声明为“读写”即可支持setCoordinateselector。
但是,当我尝试在 mapView 中移动注释时,出现unrecognized selector send to instance 错误。
这让我很困惑,因为当我在调用“setCoordinate”的代码中的确切位置中断并按照选择器进行声明时(使用 cmd + ctrl + J),它会将我带到我重新声明的“ readwrite' 属性。
我认为这与其说是 CoreLocation 或 MapKit 的问题,不如说是我没有掌握如何让它发挥作用。
这是我的子类的接口:
@interface MySubclass : CLLocation <MKAnnotation>
@property (nonatomic, readwrite) CLLocationCoordinate2D coordinate;
@end
我必须@synthesize 属性还是我在这里遗漏了其他东西?
感谢您的帮助
【问题讨论】:
标签: objective-c mapkit mkannotation cllocation