Je l'ai fait une classe MKAnnotation personnalisée, MapLocation. Je ne pas avoir des difficultés pour établir ou d'obtenir des propriétés, sauf dans cette méthode pour créer un MKAnnotationView. Je dois le faire ici, car il est censé rechercher un type d'emplacement de l'index de l'annotation et sélectionnez l'une d'une famille d'images d'annotation personnalisée pour l'annotationView.
Après de nombreuses tentatives de mise en place getters personnalisés et setters dans MapLocation.h et .m, je fait bouillir à l'endroit où je ne peux pas copier le même (obligatoire) getter, titre, renommez-Title2, et essayer d'obtenir sa valeur de retour . Ceci est mon code:
-(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;
}
Sur la 4e ligne, le titre est retourné correctement, mais l'appel de la 5ème ligne à la méthode copiée donne le message d'erreur dans le sujet.
Je ne regarde dans les documents XCode, mais je ne suis probablement pas obtenir comment déclarer si cette méthode qu'il voit. Étrange qu'il voit le getter titre, mais pas la copie Title2.













