我在应用程序中遇到问题。当我使用popviewcontroller时出现MKMapView崩溃
回答
您需要将地图视图的delegate
属性设置为-viewDidUnload:
中的nil
。发生这种崩溃的原因是地图视图试图将其视为委托,您的视图控制器,但一旦它从堆栈中弹出,它就已经被释放。
苹果甚至在MKMapViewDelegate
Protocol Reference中提到了这一点。
之前释放您已设置了 委托的
MKMapView
对象,记得给该对象的delegate
属性设置为nil
。一个 你可以做的这个地方是在-dealloc
方法你在哪里处置 地图视图。
他们建议在-dealloc
nilling的delegate
,但由于ARC的,-viewDidUnload
是最好的选择前进。
- (void)viewDidUnload
{
self.mapView.delegate = nil;
self.locationManager.delegate = nil;
[super viewDidUnload];
}
嘎!谁是第一个?哈哈:) – 2012-01-15 20:37:34
我想你是... – 2012-01-15 20:51:38
viewDidUnload现已弃用 – dwery 2013-01-08 17:44:05
这是使用接收委托调用的对象时的常见问题。问题是,在视图控制器被释放后,它仍然接收来自它的一个对象的调用,就像错误信息所说的那样。你需要重写你的视图控制器的viewDidUnload
方法(更不用说dealloc
的一些存储管理),并在其中你需要把这样的:这些对象的委托设置为nil,
yourMapView.delegate = nil;
yourLocationManager.delegate = nil;
,他们当此视图控制器卸载时将停止向其分配的代理发送更新,因此您的应用将停止崩溃。
- 1. MKMapView崩溃
- 2. MKMapView崩溃setRegion
- 3. MKMapView跟踪位置时出现奇怪的崩溃
- 4. 当出现弹出窗口时应用程序崩溃
- 5. 如果我不再使用MKMapView,我为什么会崩溃?
- 6. 的MKMapView崩溃的应用时的视图控制器弹出
- 7. 我需要MKMapView崩溃帮助
- 8. 当多个设备同时连接时,我的应用崩溃,出现错误
- 9. mkmapview在IOS 4.2崩溃
- 10. Swift3:在弹出时出现崩溃
- 11. 在MKMapview中使用NSAutoreleasepool时应用程序崩溃regionDidChangeAnimated方法
- 12. MKMapView Annotation setCoordinate崩溃应用程序
- 13. 当使用字母时,Android SQLite崩溃
- 14. 当使用boost :: random时崩溃
- 15. 当我发出postgresql查询时,Appmetrics-dash崩溃应用程序
- 16. 导航时出现随机崩溃
- 17. 解包时出现崩溃可选
- 18. 应用程序在使用uiimagepicker拍照时出现崩溃
- 19. 崩溃:当使用SDWebImage
- 20. 当autoreleasepool耗尽时,NSFileAttributes dealloc中出现SIGSEGV SEGV_ACCERR崩溃?
- 21. 当键盘出现导致崩溃时滚动到底部
- 22. 当我更新它时,recyclerview崩溃
- 23. 当我移动NamedWindow时,OpenCV崩溃
- 24. android canvas当我的手机崩溃时
- 25. KFTT出现OutofMemory崩溃
- 26. 当我在.addpart中使用MultipartEntityBuilder时,应用程序崩溃
- 27. 当我使用广播接收器时,应用程序崩溃
- 28. 当我使用复选框时,应用程序崩溃
- 29. 当我使用UIButton从NavigationController弹出视图时,应用程序崩溃
- 30. 使用NSAttributedString解码html数据时出现奇怪的崩溃
堆栈跟踪?错误信息? – Steve 2012-01-15 20:18:56
是的,我也是! – 2013-04-04 14:36:22