Jak możemy wstrzymać dodawanie adnotacji podczas MKMapView jest animowanie lub ruchu. [IPhone SDK 3]

głosy
0

Mam MKMapView i inna klasa posiada gwint dodawanie adnotacji do MKMapView.

Ale problem jest, MKMapView.annotations jest nonatomic. Tak więc, podczas gdy druga klasa jest dodawanie adnotacji .... Wygląda OK, jeśli użytkownik nie poruszają widoczny obszar mapy. Ale jeśli go ruszać, a druga klasa była dodawanie adnotacji do mapy w tym momencie awarii aplikacji. Ponieważ tablica została zmutowana podczas mapie został animacji.

Zrobiłem NSOperationQueue i dodać każdy dodawanie adnotacji zadanie do kolejki.

A potem, gdy mapę regionu zostanie zmieniony, wstrzymać NSOperationQueue .. a następnie uruchomić go ponownie, gdy zmiana region jest zrobione.

mogę pozbyć się większości wypadków .. ale nadal jest się sporadycznie.

Dowolny pomysł?

Utwórz 28/12/2009 o 11:46
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
3

Nie dodawać adnotacje do MKMapView w wątku tła. Niech operacja tło zwraca NSArray z powrotem do głównego wątku, a następnie dodać NSArray do MKMapView synchronicznie. Robię to cały czas i to działa.

Odpowiedział 28/12/2009 o 13:02
źródło użytkownik

głosy
0

Zawsze uchwyt kontrolki interfejsu użytkownika na głównym wątku.

Odpowiedział 08/01/2010 o 21:18
źródło użytkownik

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