У меня есть MKMapView, я добавляю один MKPlacemark, чтобы представить местоположение здания, которое только что выбрал пользователь. Пользователь может выбрать только одно здание за раз, и я просто хочу переместить метку на новое здание, когда они выбирают новое здание. На первом выбранном здании оно работает нормально и ставит отметку на карте. Когда я пытаюсь вызвать setCoordinate
на метке, чтобы обновить положение маркера при выборе нового здания, я получаю -[MKPlacemark setCoordinate:]: unrecognized selector sent to instance
В 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
. Может ли кто-нибудь показать мне ошибку моего пути?