2010-11-17 155 views
6

崩潰我有以下代碼行激活斷點的MKMapView與EXC_BAD_ACCESS

[mapView addAnnotations:grabinstance.itemArray]; 

此隨機崩潰。 grabinstance.itemArray總是被完全填充,並且在這個時候永遠不會改變,因爲只有在數組滿了時纔會調用這段代碼。這個特定的時間被確認爲數組中的323個項目。

NSZombieEnabled根本找不到任何東西。

回溯點在下方,線1154在上方。

#0 0x0126a372 in _insert() 
#1 0x0126a312 in _splitNode() 
#2 0x0126a3b7 in _insert() 
#3 0x011db253 in -[MKAnnotationContainerView addAnnotation:]() 
#4 0x011dfc2e in -[MKAnnotationContainerView addAnnotations:]() 
#5 0x011b0b30 in -[MKMapView addAnnotations:]() 
#6 0x00009257 in -[BigViewController plotItems] (self=0x614de90, _cmd=0x16464f) at /Users/zzzz/Documents/iPhone Projects/BigProject/Classes/BigViewController.m:1154 
#7 0x005336c1 in _nsnote_callback() 
#8 0x01c18f99 in __CFXNotificationPost_old() 
#9 0x01b9833a in _CFXNotificationPostNotification() 
#10 0x00529266 in -[NSNotificationCenter postNotificationName:object:userInfo:]() 
#11 0x00024071 in -[ItemGrabber parserDidEndDocument:] (self=0x617b540, _cmd=0x689aa3, parser=0xf6b4ab0) at /Users/zzzz/Documents/iPhone Projects/BigProject/Classes/ItemGrabber.m:267 

回答

4

錯誤報告給蘋果公司和被確認

+0

任何更新上的bug ?有沒有開放的雷達鏈路? – Kevin 2015-11-03 18:33:53

1

我也有同樣的問題,我固定它,但問題是我的位置,該數組中的對象可能不包含有效的位置,他們可能被垃圾值

9

您應該檢查使用CLLocationCoordinate2DIsValid()您的註釋:

if (CLLocationCoordinate2DIsValid(place.coordinate)) { 
    [_mapView addAnnotation:place]; 
} else { 
    NSLog(@"place %@ has invalid coordinates", place.name); 
} 
+0

感謝哥們。但我仍然困惑。由於我的應用第二次崩潰時,我添加註釋與錯誤的co-oridinates第一次。有什麼特別的原因? – 2012-03-15 06:58:20

+0

@SamyagShah內存相關的錯誤往往是不可預測的。 – devios1 2013-08-17 02:09:44