iPhone: AddAnnotation non funziona quando viene chiamato da un'altra vista

voti
0

Ho due punti di vista, la prima vista ha un MKMapView su di esso il nome ridesMap. Il secondo punto di vista è solo una vista con un UITableView in esso. Quando si fa clic sul pulsante Salva nel secondo punto di vista, si chiama un metodo dalla prima 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];

Ciò richiede correttamente il metodo addAnno, che assomiglia 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

Questo metodo crea un'annotazione che non sono conformi alla MKAnnotation, e supponiamo di aggiungere che l'annotazione alla mappa utilizzando il metodo AddAnnotation. Ma, l'annotazione non viene mai aggiunto.

Non ho mai ottenere eventuali errori quando l'annotazione non viene aggiunto. Ma non è mai appare quando il metodo viene chiamato.

Perché questo sarebbe? Sembra che ho fatto tutto correttamente, e che sto passando un corretto MKAnnotation al metodo AddAnnotation. Quindi, non capisco il motivo per cui non scende mai uno spillo? Potrebbe essere perché sto chiamando questo metodo da un altro punto di vista? Perché sarebbe quella materia?

È pubblicato 25/05/2010 alle 06:20
fonte dall'utente
In altre lingue...                            


1 risposte

voti
2

Si sta creando una seconda istanza di MyRidesMapViewController. Si dovrebbe essere aggiunta l'annotazione per l'istanza originale. È necessario fornire alcuni mezzi di passaggio che esempio per il secondo punto di vista. Ci sono molti modi possibili per farlo; la scelta ottimale dipende da come la vostra applicazione è strutturato (che non conosciamo).

Risposto il 25/05/2010 a 08:04
fonte dall'utente

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