Έχω δύο όψεις, η πρώτη όψη έχει MKMapView σε αυτό που ονομάζεται ridesMap. Η δεύτερη άποψη είναι απλώς μια προβολή με UITableView σε αυτό. Όταν κάνετε κλικ στο κουμπί αποθήκευσης στη δεύτερη άποψη, καλεί μια μέθοδο από την πρώτη προβολή:
// Get my first views class
MyRidesMapViewController *rideMapView = [[MyRidesMapViewController alloc] init];
// Call the method from my first views class that removes an annotation
[rideMapView addAnno:newRidePlacemark.coordinate withTitle:rideTitle.text withSubTitle:address];
Αυτό απαιτεί σωστά την μέθοδο addAnno, η οποία μοιάζει με:
- (void)addAnno:(CLLocationCoordinate2D)anno withTitle:(NSString *)annoTitle withSubTitle:(NSString *)subTitle {
Annotation *ano = [[[Annotation alloc] init] autorelease];
ano.coordinate = anno;
ano.title = annoTitle;
ano.subtitle = subTitle;
if ([ano conformsToProtocol:@protocol(MKAnnotation)]) {
NSLog(@YES IT DOES!!!);
}
[ridesMap addAnnotation:ano];
}//end addAnno
Αυτή η μέθοδος δημιουργεί ένα σχόλιο το οποίο είναι σύμφωνο με MKAnnotation, και ας υποθέσουμε ότι για να προσθέσετε αυτό το σχόλιο στο χάρτη χρησιμοποιώντας τη μέθοδο addAnnotation. Όμως, ο σχολιασμός δεν παίρνει ποτέ πρόσθεσε.
Δεν παίρνω ποτέ οποιαδήποτε λάθη, όταν δεν παίρνει προστίθεται το σχολιασμό. Αλλά ποτέ δεν εμφανίζεται όταν η μέθοδος ονομάζεται.
Γιατί αυτό θα ήταν; Φαίνεται ότι έχω κάνει όλα σωστά, και ότι έχω περάσει τη σωστή MKAnnotation με τη μέθοδο addAnnotation. Έτσι, δεν παίρνω γιατί ποτέ δεν πέφτει μια καρφίτσα; Θα μπορούσε να είναι γιατί ζητώ αυτήν τη μέθοδο από μια άλλη άποψη; Γιατί θα ήταν αυτό το θέμα;













