Ho fatto una classe MKAnnotation personalizzato, MapLocation. Sto avendo alcuna impostazione o di ottenere le proprietà, se non in questo metodo per creare un MKAnnotationView guai. Ho bisogno di fare qui, in quanto si suppone per cercare un tipo di posizione dall'indice della annotazione e selezionare uno di una famiglia di immagini di annotazione personalizzate per l'annotationView.
Dopo numerosi tentativi di creazione di getter e setter personalizzati in MapLocation.h e .m, ho bollito giù a dove non riesco nemmeno a copiare il (obbligatorio) getter, titolo, rinominarlo in title2, e cercare di ottenere il suo valore di ritorno . Questo è il mio codice:
-(MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation {
static NSString *placemarkIdentifier=@Map Location Identifier;
NSString *str1=annotation.title;
NSString *str2=annotation.title2;
if([annotation isKindOfClass:[MapLocation class]]) {
MKAnnotationView *annotationView=(MKAnnotationView *)[theMapView dequeueReusableAnnotationViewWithIdentifier:placemarkIdentifier];
if (annotationView==nil) {
annotationView=[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:placemarkIdentifier];
}
else
annotationView.annotation=annotation;
return annotationView;
}
return nil;
}
Sulla linea 4, il titolo viene restituito correttamente, ma invito il 5 ° di linea per il metodo copiato restituisce il messaggio di errore nel tema.
Ho guardato nella documentazione XCode, ma io sono probabilmente solo non ottenere come dichiarare in modo questo metodo lo vede. Strano che vede il getter titolo, ma non la copia title2.













