我在應用程序中遇到問題。當我使用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應用程序經常在pushViewController和PopviewController上崩潰?
- 2. MKMapView showsUserLocation崩潰
- 3. MKMapView崩潰
- 4. MKMapView崩潰setRegion
- 5. MKMapView _annotationContainer崩潰
- 6. MKMapView跟蹤位置時出現奇怪的崩潰
- 7. MKMapView alloc initWithFrame崩潰
- 8. 當我添加覆蓋到mkmapview的應用程序崩潰
- 9. 當呈現相機時只出現應用程序崩潰 - Cocoa2d
- 10. 當我啓動EarlGrey測試時,出現「Could not swizzle」的崩潰
- 11. 當我setContentView時崩潰
- 12. 當出現彈出窗口時應用程序崩潰
- 13. 我使用renderscript時每次崩潰時我的應用崩潰
- 14. 當試圖實現UISearchBar時,程序崩潰時出現NSException
- 15. 如果我不再使用MKMapView,我爲什麼會崩潰?
- 16. 的MKMapView崩潰的應用時的視圖控制器彈出
- 17. 我需要MKMapView崩潰幫助
- 18. 當多個設備同時連接時,我的應用崩潰,出現錯誤
- 19. sigsegv segv_accerr崩潰在ios7 mkmapview
- 20. MKMapView在單元崩潰中
- 21. mkmapview在IOS 4.2崩潰
- 22. UITablViewCell上的MKMapView崩潰
- 23. Swift3:在彈出時出現崩潰
- 24. 在MKMapview中使用NSAutoreleasepool時應用程序崩潰regionDidChangeAnimated方法
- 25. flurryads當呈現uiactionsheet時崩潰
- 26. 放大時使用MKMapView在setUserTrackingMode上崩潰
- 27. MKMapView Annotation setCoordinate崩潰應用程序
- 28. 當在C++中使用upper_bound時崩潰
- 29. 當打開presentModalViewController使用MFMailComposeViewController時崩潰
- 30. 當使用boost :: iostreams時崩潰
堆棧跟蹤?錯誤信息? – Steve 2012-01-15 20:18:56
是的,我也是! – 2013-04-04 14:36:22