【发布时间】:2015-02-24 13:29:36
【问题描述】:
我有一个 splitviewcontroller 应用程序,其中主视图控制器是 UITableView,详细视图控制器包含 MKMapView 和单个注释。当我在UITableView 中进行选择时,辅助视图会转到具有单个注释的不同地图视图。
当我选择一个注释,然后立即(在注释弹出框出现之前)选择一个单元格时,我收到一个EXC_BAD_ACCESS 崩溃。我使用 Zombies 工具尝试收集更多信息并收到此消息。
An Objective-C message was sent to a deallocated 'MKPopoverBasedAnnotationCalloutController' object (zombie)
我认为这里的问题是地图视图仍在尝试显示注释弹出框,但注释已被释放。
到目前为止我已经尝试过:
•在dealloc上设置MKMapView delegate nil
注意:我没有为注释使用任何自定义弹出框。在调用[mapView selectAnnotation:mp animated:YES]; 然后选择另一个单元格时,我也遇到了类似的问题。我通过不调用它来解决这个问题。这显然不是一个理想的解决方案。
关于如何解决这个问题的任何建议?或者任何关于这是 MapKit 的问题还是我的应用程序的问题的任何见解?
提前致谢, 克里斯
【问题讨论】:
-
我正在使用
MkAnnotationView并为该视图设置自定义图像。似乎当我使用MKPinAnnotationView并设置图像时不会发生崩溃,但在MKPinAnnotationView上设置图像并不能提供适当的功能(地图类型更改时仍会显示引脚)
标签: ios objective-c annotations mapkit uisplitviewcontroller