iPhone: addAnnotation no funciona cuando se llama desde otro punto de vista

votos
0

Tengo dos puntos de vista, la primera vista tiene una MKMapView en él nombró ridesMap. El segundo punto de vista es sólo una vista con una UITableView en ella. Al hacer clic en el botón de guardar en el segundo punto de vista, se llama a un método desde el primer punto de vista:

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

Esto exige correctamente el método addAnno, que se parece a:

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

Este método crea una anotación que no se ajustan a MKAnnotation, y se supone que añadir que la anotación al mapa utilizando el método addAnnotation. Sin embargo, la anotación no se agrega.

Nunca consigo cualquier error cuando la anotación no consigue añadió. Pero nunca aparece cuando se llama al método.

¿Por qué sería esto? Parece que he hecho todo correctamente, y que estoy pasando un MKAnnotation sido realizada con el método addAnnotation. Por lo tanto, no entiendo por qué nunca cae un alfiler? Podría ser porque yo estoy llamando a este método desde otro punto de vista? ¿Por qué importa?

Publicado el 25/05/2010 a las 06:20
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
2

Va a crear una segunda instancia de MyRidesMapViewController. Usted debe agregar la anotación a la instancia original. Es necesario proporcionar algún medio de pasar esa instancia a su segundo punto de vista. Hay muchas maneras posibles de hacer esto; la elección óptima depende de cómo se estructure su aplicación (que no sabemos).

Respondida el 25/05/2010 a las 08:04
fuente por usuario

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