iPhone: addAnnotation nie działa, gdy wywołana z innego widoku

głosy
0

Mam dwa widoki, pierwszy widok ma MKMapView na to nazwie ridesMap. Drugi pogląd jest po prostu widok z UITableView w nim. Po kliknięciu przycisku zapisać w drugim zdaniem wywołuje metodę od pierwszego widzenia:

// 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];

To właściwie wywołuje metodę addAnno, który wygląda tak:

- (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

Metoda ta stwarza adnotację, która nie spełnia wymogów MKAnnotation, i to przypuszczać, aby dodać tę adnotację na mapie za pomocą metody addAnnotation. Ale nigdy nie zostanie dodana adnotacja.

I nigdy się żadnych błędów, gdy adnotacja nie zostanie dodany. Ale nigdy nie pojawia się, gdy wywoływana jest metoda.

Dlaczego miałoby to być? Wydaje się, że zrobiłem wszystko poprawnie, a ja przechodząc prawidłowego MKAnnotation do metody addAnnotation. Więc nie rozumiem, dlaczego nigdy nie spada szpilkę? To może być, bo jestem wywołanie tej metody z innego widoku? Dlaczego miałby to znaczenie?

Utwórz 25/05/2010 o 06:20
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
2

Tworzysz drugą instancję MyRidesMapViewController. Powinno być dodawanie adnotacji do oryginalnej instancji. Musisz podać kilka sposobów przechodzenia tego wystąpienia do drugiego widzenia. Istnieje wiele możliwych sposobów osiągnięcia tego celu; optymalny wybór zależy od tego, jak aplikacja jest zorganizowany (co nie wiemy).

Odpowiedział 25/05/2010 o 08:04
źródło użytkownik

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