Am două puncte de vedere, prima vedere are un MKMapView pe ea numit ridesMap. A doua vedere este doar o vedere cu un UITableView în ea. Când faceți clic pe butonul Salvează în al doilea punct de vedere, aceasta solicită o metodă din prima vedere:
// 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];
Aceasta solicită în mod corect metoda addAnno, care arata ca:
- (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
Această metodă creează o adnotare care nu sunt conforme cu MKAnnotation, și să presupunem că pentru a adăuga adnotare pe hartă folosind metoda addAnnotation. Dar, adnotarea nu este adăugat.
N-am primi nici erori atunci când adnotarea nu se adaugă. Dar niciodată nu apare atunci când metoda se numește.
De ce ar fi asta? Se pare că am făcut totul corect, și că am trece o MKAnnotation corectă a metodei addAnnotation. Deci, eu nu înțeleg de ce nu-l picături un cod PIN? Ar putea fi pentru că eu sun această metodă dintr-un alt punct de vedere? De ce ar fi altfel?













