Jeg har laget et tilpasset MKAnnotation klasse, MapLocation. Jeg har ingen problemer med å sette eller få egenskaper, bortsett fra i denne metoden for å skape en MKAnnotationView. Jeg trenger å gjøre det her, siden det er ment å slå opp et sted type fra merknaden indeks og velg en av en familie av tilpassede merknads bilder for annotationView.
Etter utallige forsøk på å sette opp egendefinerte kundeskaffere og settere i MapLocation.h og BFD, jeg kokt det ned til hvor jeg kan ikke engang kopiere (obligatorisk) getter, tittel, endre navnet til TITLE2, og prøve å få returverdien . Dette er min kode:
-(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;
}
På den fjerde linje, er tittelen tilbake på riktig måte, men den femte linjen oppfordring til den kopierte metode gir feilmeldingen i emnet.
Jeg fikk se i Xcode docs, men jeg er nok bare ikke får hvordan å erklære det så denne metoden ser det. Merkelig at det ser tittelen getter, men ikke TITLE2 kopi.













