【发布时间】:2009-12-28 10:46:21
【问题描述】:
我有一个 MKMapView,而另一个类有一个线程向 MKMapView 添加注释。
但问题是,MKMapView.annotations 是非原子的。因此,当其他类正在添加注释时......如果用户不移动地图的可见区域,它看起来没问题。但是,如果您继续移动它,并且此时其他类正在向地图添加注释,则应用程序崩溃。 因为在地图制作动画期间数组发生了变异。
我创建了 NSOperationQueue,并将每个添加注释作业添加到队列中。
然后,每当地图的区域发生变化时,暂停 NSOperationQueue.. 然后在区域更改完成后重新启动它。
我可以摆脱大多数崩溃......但它仍然偶尔发生。
有什么想法吗?
【问题讨论】:
标签: iphone mapkit mkmapview annotations nsoperationqueue