Objective c 使用';在MKPlacemark崩溃应用程序上调用setCoordinate;无法识别的选择器';
我有一个MKMapView,我正在添加一个MKPlacemark来表示用户刚刚选择的建筑物的位置。用户一次只能选择一个建筑,我只想在他们选择新建筑时将placemark移动到新建筑。在他们选择的第一座建筑上,它可以正常工作,并在地图上放置一个图钉。当我尝试在placemark上调用Objective c 使用';在MKPlacemark崩溃应用程序上调用setCoordinate;无法识别的选择器';,objective-c,mkmapview,mkannotation,mkplacemark,Objective C,Mkmapview,Mkannotation,Mkplacemark,我有一个MKMapView,我正在添加一个MKPlacemark来表示用户刚刚选择的建筑物的位置。用户一次只能选择一个建筑,我只想在他们选择新建筑时将placemark移动到新建筑。在他们选择的第一座建筑上,它可以正常工作,并在地图上放置一个图钉。当我尝试在placemark上调用setCoordinate以更新标记的位置时,当他们选择新建筑时,我得到-[MKPlacemark setCoordinate:]:未识别的选择器发送到实例 在MyViewController.h中,我有: @prop
setCoordinate
以更新标记的位置时,当他们选择新建筑时,我得到-[MKPlacemark setCoordinate:]:未识别的选择器发送到实例
在MyViewController.h中,我有:
@property (nonatomic, strong)MKPlacemark *selectedBuildingPlacemark;
在MyViewController.m中
@synthesize selectedBuildingPlacemark;
...
if (self.selectedBuildingPlacemark == nil) {
self.selectedBuildingPlacemark = [[MKPlacemark alloc] initWithCoordinate:myCoord addressDictionary:nil];
[mapView addAnnotation:self.selectedBuildingPlacemark];
}
else {
[self.selectedBuildingPlacemark setCoordinate:myCoord];
}
我认为MKPlacemark符合MKAnnotation,因此应该实现setCoordinate
。有人能告诉我我的错误吗?的文档中说:
支持拖动的批注应实现此方法以更新批注的位置
因此,方法setCoordinate:
是可选的,仅由支持拖动的类实现。的文档未引用该方法,因此未实现该方法
因此,您应该在每次选择新建筑时创建一个新实例。的文档说明:
支持拖动的批注应实现此方法以更新批注的位置
因此,方法setCoordinate:
是可选的,仅由支持拖动的类实现。的文档未引用该方法,因此未实现该方法
因此,您应该在每次选择新建筑时创建一个新实例。如果您不特别需要使用
MKPlacemark
(它看起来不像,因为您要为addressDictionary传递nil),则可以使用MKPointAnnotation
类
MKPointAnnotation
实现了MKAnnotation
,但添加了一个setcoordination
方法。如果您不特别需要使用MKPlacemark
(看起来不像它,因为地址字典要传递nil),可以使用MKPointAnnotation
类
MKPointAnnotation
实现MKAnnotation
但添加了一个setcoordination
方法。在哪里设置myCoord?在哪里设置myCoord?