Ich habe eine benutzerdefinierte MKAnnotation Klasse, MapLocation gemacht. Ich habe keine Probleme, Einstellung oder Eigenschaften erhalten, außer daß in diesem Verfahren eine MKAnnotationView zu erstellen. Ich brauche es hier zu tun, da es angenommen hat, einen Standorttyp aus der Annotation-Index zu suchen und wählen Sie eine aus einer Familie von benutzerdefinierten Anmerkungs Bilder für die AnnotationView.
Nach zahlreichen Versuchen an kundenspezifische Getter und Setter in MapLocation.h Einrichtung und .m, gekocht ich es nach unten, wo ich die (obligatorische) Getter, Titel nicht einmal kopieren können, benennen Sie sie in title2, und versuchen, ihren Rückgabewert zu erhalten . Dies ist mein 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;
}
Auf der 4. Zeile ist, Titel korrekt zurückgegeben, aber die Forderung der fünften Zeile in der kopierte Methode erhält man die Fehlermeldung im Thema.
Ich sah in dem XCode docs, aber ich bin wahrscheinlich einfach nicht bekommen, wie zu erklären, es so dass diese Methode es sieht. Seltsam, dass sie sieht den Titel Getter, aber nicht die title2 Kopie.













