iPhone: addAnnotation δεν λειτουργεί όταν καλείται από άλλη άποψη

ψήφοι
0

Έχω δύο όψεις, η πρώτη όψη έχει 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. Έτσι, δεν παίρνω γιατί ποτέ δεν πέφτει μια καρφίτσα; Θα μπορούσε να είναι γιατί ζητώ αυτήν τη μέθοδο από μια άλλη άποψη; Γιατί θα ήταν αυτό το θέμα;

Δημοσιεύθηκε 25/05/2010 στις 06:20
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
2

Δημιουργείτε μια δεύτερη εμφάνιση της MyRidesMapViewController. Θα πρέπει να προσθέσετε το σχολιασμό στο αρχικό παράδειγμα. Θα πρέπει να παρέχουν κάποια μέσα που περνά αυτό το παράδειγμα, στη δεύτερη προβολή σας. Υπάρχουν πολλοί πιθανοί τρόποι για να γίνει αυτό? η βέλτιστη επιλογή εξαρτάται από το πώς η εφαρμογή σας είναι δομημένο (που δεν ξέρουμε).

Απαντήθηκε 25/05/2010 στις 08:04
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more