Ik heb een aangepaste MKAnnotation klasse gemaakt, omgevingMeer. Ik heb geen problemen met het instellen of het krijgen van onroerend goed, met uitzondering van deze methode om een MKAnnotationView creëren. Ik moet het hier te doen, omdat het zou moeten opzoeken van een type locatie van de index van de annotatie en selecteer een van een familie van aangepaste annotatie beelden voor het annotationView.
Na talloze pogingen tot het instellen van aangepaste getters en setters in MapLocation.h en .m, ik kookte het naar beneden naar de plaats waar ik zelfs niet de (verplichte) getter, titel kan kopiëren, hernoem het naar title2, en proberen de return waarde te krijgen . Dit is mijn 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;
}
Op de 4e regel, wordt de titel juist teruggekeerd, maar de oproep van de 5e lijn om de gekopieerde methode krijgt de foutmelding in het onderwerp.
Ik zag er in de XCode docs, maar ik ben waarschijnlijk gewoon niet krijgen hoe te verklaren dus deze methode ziet. Vreemd dat hij ziet de titel getter, maar niet de title2 kopie.













