Удалить аннотацию из 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? Вы не владеете или не сохраняете его.)