2011-11-26 27 views
1

我有一个应用程序,它是具有在左边和右边的详细视图的主视图SplitViewController。其中一个视图(分支查找器)是一个地图视图,用于将一系列注解加载到地图。应用崩溃如果AddAnnotations未完成

如果我让注释切换到任何其它视图之前加载(加载注解采取通吃1秒),则一切都很好。

[BranchFinder_iPad respondsToSelector::]:然而,如果用户快速关断科搜索视图,而被装载的注释,则应用将用以下通知崩溃消息发送到释放的实例0x807d230

现在,我的想法是,解除分配的实例将引用数组(在视图的标题中声明),该数组包含所有释放的注释,并在用户离开BranchFinder_iPad视图时设置为nil。这是传递给addAnnotations方法的数组。

[self.mapView addAnnotations:branchSites]; 

有其他人遇到了一个问题,即留在添加分配视图,中途如果用户移动到另一个视图发生崩溃。

只是为了澄清:

  • 如果我等待注释加载,切换到其他视图不会造成问题。
  • 我有一个自定义注解的观点,但我认为剥夺了我的代码(从混合消除它)。这样做并没有改变任何东西。
  • 我在其他地方寻找在这个问题上的帮助,但很多关于地图视图的视图教程仅是单一视图,所以这个问题一直没有出现。
  • 我已经找到了一个隐约类似的问题@如下:mapkit addAnnotations crashes
  • 最后,我刚才做了跃迁到X-代码4.我认为我的一些问题,只是因为我再学习一些东西我应该知道。

问候, 弥敦道一

PS:我想将图像附加到这一点,但我有麻烦。我没有名誉点在本地做,我的工作场所不允许我访问任何图像托管门户。我会尽力在今天晚些时候添加一张图片。

回答

3

嘿任何人谁读这一点。在我的应用程序的的MKMapView,我必须设置委托给无我的视图中的重新分配程序的一部分 -

我基本上在这里进行了新手的错误。苹果文档使下面的文档中的这个奖:

http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapViewDelegate_Protocol/MKMapViewDelegate/MKMapViewDelegate.html

对于相关板块:

释放您已设置了委托的的MKMapView对象之前,记得设置该对象的将属性委托给nil。一个可以做到这一点的地方就是在你处理地图视图的dealloc方法中。

没有这只是导致一个问题,如果我切换到另一个视图,并且如果MKMapView仍然被执行代码引用,如addAnnotations例程。