Zrobiłem niestandardowej klasy MKAnnotation, MapLocation. Mam żadnych problemów z dostaniem ustawień lub właściwości, z wyjątkiem tej metody do stworzenia MKAnnotationView. Muszę zrobić to tutaj, ponieważ to ma wyglądać w górę typ lokalizacji z indeksu adnotacji i wybierz jedną z rodziny niestandardowych obrazów adnotacji na annotationView.
Po licznych próbach utworzenia niestandardowych pobierające i ustawiające w MapLocation.h i .m, ja gotuje je w dół do miejsca, gdzie nawet nie mogę skopiować (obowiązkowo) getter, tytuł, zmienić jego nazwę na Title2, i postarać się o jego wartości zwracanej , To jest mój kodu:
-(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;
}
Na 4 linii, tytuł jest zwracany poprawnie, ale wywołanie 5 linii do skopiowanego metoda daje komunikat o błędzie w temacie.
I wyglądał w docs Xcode, ale ja chyba po prostu nie dostaję, jak deklarują, że tak ta metoda widzi. Dziwne, że widzi się tytułowy getter, ale nie kopia TITLE2.













