Ho due punti di vista, la prima vista ha un MKMapView su di esso il nome ridesMap. Il secondo punto di vista è solo una vista con un UITableView in esso. Quando si fa clic sul pulsante Salva nel secondo punto di vista, si chiama un metodo dalla prima vista:
// 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];
Ciò richiede correttamente il metodo addAnno, che assomiglia a:
- (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
Questo metodo crea un'annotazione che non sono conformi alla MKAnnotation, e supponiamo di aggiungere che l'annotazione alla mappa utilizzando il metodo AddAnnotation. Ma, l'annotazione non viene mai aggiunto.
Non ho mai ottenere eventuali errori quando l'annotazione non viene aggiunto. Ma non è mai appare quando il metodo viene chiamato.
Perché questo sarebbe? Sembra che ho fatto tutto correttamente, e che sto passando un corretto MKAnnotation al metodo AddAnnotation. Quindi, non capisco il motivo per cui non scende mai uno spillo? Potrebbe essere perché sto chiamando questo metodo da un altro punto di vista? Perché sarebbe quella materia?













