Hoe kunnen we pauzeren annotaties toe te voegen terwijl MKMapView wordt animeren of verplaatsen. [IPhone SDK 3]

stemmen
0

Ik heb een MKMapView en een andere klasse heeft een draad toe te voegen annotaties bij de MKMapView.

Maar het probleem is, MKMapView.annotations is nonatomic. Dus terwijl de andere klasse is het toevoegen van annotaties .... Het ziet er goed uit als de gebruiker niet zichtbare gedeelte van de kaart te verplaatsen. Maar als je blijft bewegen, en de andere klasse werd het toevoegen van annotaties om de kaart op dat moment, app crashes. Omdat de array tijdens kaart werd gemuteerd werd animeren.

Ik maakte NSOperationQueue, en voeg elk toevoegen van annotatie taak naar de wachtrij.

En dan wanneer regio kaart wordt gewijzigd, pauzeren NSOperationQueue .. en opnieuw starten wanneer regio verandering wordt gedaan.

Ik kon ontdoen van de meeste crashes .. maar het is nog steeds zo nu en dan gebeurd.

Enig idee?

De vraag is gesteld op 28/12/2009 om 11:46
bron van user
In andere talen...                            


2 antwoorden

stemmen
3

Niet de annotaties toe te voegen aan de MKMapView in een achtergrond draad. Laat de achtergrondwerking retourneren een NSArray naar de draad, wordt de NSArray de MKMapView voegen synchroon. Ik doe dit de hele tijd en het werkt.

antwoordde op 28/12/2009 om 13:02
bron van user

stemmen
0

Behandel UI pijlen aan de draad.

antwoordde op 08/01/2010 om 21:18
bron van user

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