Удалить аннотацию из MKMapView, который находится в другом представлении

У меня два взгляда. Первый MKMapView с некоторыми аннотациями. Нажав на UIButton выдвигает второй взгляд на стек. Это имеет UITableView со списком аннотаций, которые соответствуют аннотациям карты. Итак, когда вы нажимаете кнопку удаления, как я могу позвонить MKMapView который находится в другом виде, так что я могу удалить аннотацию. мой MKMapView объявлен в моем делегате приложения, а также в моем текущем классе. Я пытаюсь использовать следующее, но это не работает:

RideAppDelegate *appDelegate = (RideAppDelegate *)[[UIApplication sharedApplication] delegate];
Annotation *ano;
CLLocationCoordinate2D anoPoint;
anoPoint.latitude = [[eventToDelete valueForKey:@"latitude"] doubleValue];
anoPoint.longitude = [[eventToDelete valueForKey:@"longitude"] doubleValue];
ano = [[[Annotation alloc] init] autorelease];
ano.coordinate = anoPoint;
[appDelegate.ridesMap removeAnnotation: ano];
[appDelegate release];

Я должен пытаться получить доступ к MKMapView моего другого взгляда неправильно?

1 ответ

Решение
  • ridesMap должен быть MKMapView, который должен быть иваром appDelegate. Это свойство с (сохранить)? Это создано и назначено с self.ridesMap = [[MKMapView alloc] init] или похожие?
  • Вы уверены, что Аннотация следует протоколу MKAnnotation?

(зачем выпускать appDelegate? Вы не владеете или не сохраняете его.)

Другие вопросы по тегам