Entfernen Anmerkung aus MKMapView, die in einer anderen Ansicht ist
-
27-09-2019 - |
Frage
Ich habe zwei Ansichten. Die erste ist ein MKMapView
mit einigen Anmerkungen. eine UIButton
Ein Klick drückt eine zweite Ansicht auf den Stapel. Dies hat eine UITableView
mit einer Liste von Anmerkungen, die auf die Karte Anmerkungen entsprechen. Also, wenn Sie auf die Schaltfläche Löschen klicken, wie kann ich meinen MKMapView
nennen, die in einer anderen Ansicht ist, so dass ich die Anmerkung entfernen. Mein MKMapView
ist in meiner AppDelegate erklärt, wie auch meine aktuelle Klasse. Ich versuche, die folgenden zu verwenden, aber es funktioniert nicht:
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];
Ich muss die MKMapView
meiner anderen Ansicht falsch zuzugreifen versuchen?
Lösung
- ridesMap muss der MKMapView sein, die ein Ivar von AppDelegate sein muss. Ist es eine Eigenschaft mit (behalten)? Ist es erstellt und zugewiesen mit
self.ridesMap = [[MKMapView alloc] init]
oder ähnlichem? - Sie sind sicher, Annotation folgt MKAnnotation Protokoll?
(warum die AppDelegate veröffentlichen? Sie tun es nicht allein oder halten.)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow