Έχω κάνει μια τάξη έθιμο MKAnnotation, MapLocation. Είμαι έχοντας κανένα πρόβλημα ρύθμισης ή να πάρει ακίνητα, εκτός από αυτή τη μέθοδο για να δημιουργήσετε ένα MKAnnotationView. Θα πρέπει να το κάνουμε εδώ, αφού υποτίθεται για να αναζητήσετε έναν τύπο τοποθεσίας από το δείκτη του σχολιασμού και επιλέξτε ένα από μια οικογένεια των εικόνων συνήθειας σχολιασμό για την annotationView.
Μετά από πολλές προσπάθειες για τη δημιουργία προσαρμοσμένων getters και setters στην MapLocation.h και .m, εγώ το βρασμένο κάτω στο σημείο όπου δεν μπορώ ακόμη να αντιγράψετε το (υποχρεωτικό) κτήτορας, τον τίτλο, το μετονομάσετε σε title2, και να προσπαθήσει να πάρει τιμή επιστροφής της . Αυτός είναι ο κωδικός μου:
-(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;
}
Από την 4η γραμμή, τίτλος επέστρεψε σωστά, αλλά το αίτημα της 5ης γραμμής στο αντιγραφεί μέθοδος αποδίδει το μήνυμα λάθους στο θέμα.
Έκανα δούμε στα έγγραφα XCode, αλλά είμαι κατά πάσα πιθανότητα απλά δεν πάρει πώς να την κηρύξει έτσι αυτή η μέθοδος βλέπει. Περίεργα ότι βλέπει τον συλλέκτη τίτλο, αλλά όχι το αντίγραφο title2.













