¿Cómo podemos hacer una pausa añadir anotaciones, mientras que MKMapView está animando o en movimiento. [IPhone SDK 3]

votos
0

Tengo un MKMapView y otra clase tiene una rosca de añadir anotaciones al MKMapView.

Pero el problema es, MKMapView.annotations es no atómica. Así, mientras que la otra clase es la adición de anotaciones .... Se ve bien si el usuario no se mueven área visible del mapa. Pero si mantenerse en movimiento, y la otra clase fue añadir anotaciones al mapa en ese momento, aplicación se bloquea. Debido a que la matriz se mutó durante mapa fue la animación.

Hice NSOperationQueue, y añadir a cada puesto de trabajo anotación adición a la cola.

Y luego cada vez que se cambia región del mapa, hacer una pausa en la NSOperationQueue .. y luego reiniciarlo cuando el cambio se realiza región.

Yo podía deshacerse de la mayoría de los accidentes .. pero aún así es sucedido ocasionalmente.

¿Alguna idea?

Publicado el 28/12/2009 a las 11:46
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
3

No añadir las anotaciones al MKMapView en un subproceso en segundo plano. Deje que la operación en segundo plano devuelve un NSArray de nuevo al hilo principal, a continuación, añadir el NSArray a la MKMapView forma sincrónica. Lo hago todo el tiempo y funciona.

Respondida el 28/12/2009 a las 13:02
fuente por usuario

votos
0

Siempre manejar los controles de interfaz de usuario en el hilo principal.

Respondida el 08/01/2010 a las 21:18
fuente por usuario

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