MKMapViewがあり、別のクラスにMKMapViewに注釈を追加するスレッドがあります。
ただし、問題は、MKMapView.annotationsが非アトミックであるということです。したがって、他のクラスが注釈を追加している間、ユーザーがマップの表示領域を移動しなくても問題ないように見えます。しかし、それを動かし続け、その時点で他のクラスがマップに注釈を追加していた場合、アプリはクラッシュします。マップのアニメーション中に配列が変更されたためです。
NSOperationQueueを作成し、追加する各アノテーションジョブをキューに追加しました。
そして、マップのリージョンが変更されるたびに、NSOperationQueueを一時停止し、リージョンの変更が完了したら再起動します。
私はほとんどのクラッシュを取り除くことができました..それでもそれは時々起こります。
何か案が?