Mam dwa widoki, pierwszy widok ma MKMapView na to nazwie ridesMap. Drugi pogląd jest po prostu widok z UITableView w nim. Po kliknięciu przycisku zapisać w drugim zdaniem wywołuje metodę od pierwszego widzenia:
// Get my first views class
MyRidesMapViewController *rideMapView = [[MyRidesMapViewController alloc] init];
// Call the method from my first views class that removes an annotation
[rideMapView addAnno:newRidePlacemark.coordinate withTitle:rideTitle.text withSubTitle:address];
To właściwie wywołuje metodę addAnno, który wygląda tak:
- (void)addAnno:(CLLocationCoordinate2D)anno withTitle:(NSString *)annoTitle withSubTitle:(NSString *)subTitle {
Annotation *ano = [[[Annotation alloc] init] autorelease];
ano.coordinate = anno;
ano.title = annoTitle;
ano.subtitle = subTitle;
if ([ano conformsToProtocol:@protocol(MKAnnotation)]) {
NSLog(@YES IT DOES!!!);
}
[ridesMap addAnnotation:ano];
}//end addAnno
Metoda ta stwarza adnotację, która nie spełnia wymogów MKAnnotation, i to przypuszczać, aby dodać tę adnotację na mapie za pomocą metody addAnnotation. Ale nigdy nie zostanie dodana adnotacja.
I nigdy się żadnych błędów, gdy adnotacja nie zostanie dodany. Ale nigdy nie pojawia się, gdy wywoływana jest metoda.
Dlaczego miałoby to być? Wydaje się, że zrobiłem wszystko poprawnie, a ja przechodząc prawidłowego MKAnnotation do metody addAnnotation. Więc nie rozumiem, dlaczego nigdy nie spada szpilkę? To może być, bo jestem wywołanie tej metody z innego widoku? Dlaczego miałby to znaczenie?













