1.bug的出現(xiàn)情況:
程序一跑就crash掉了式廷,log顯示為數(shù)組越界
通過斷點定位到bug出現(xiàn)在這一行代碼:
[_mapView addAnnotations:newAnnotationList];
這就頗為尷尬了妇萄,這是百度的api溃列,又不開源,鬼知道它為什么閃掉了...(若是自己的代碼還能通過斷點懊渡,再進一步縮小bug的范圍),斷點一過立馬就閃了刽射,有點懵军拟,咋辦?
2.解決
通過這個方法點進去發(fā)現(xiàn)百度地圖api的官方有這么一行注釋
/**
*向地圖窗口添加一組標注柄冲,需要實現(xiàn)BMKMapViewDelegate的-mapView:viewForAnnotation:函數(shù)來生成標注對應的View
*@param annotations 要添加的標注數(shù)組
*/
- (void)addAnnotations:(NSArray *)annotations;
也就是說其會觸發(fā)-mapView:viewForAnnotation:
至于- (void)addAnnotations:(NSArray *)annotations;因為不開源吻谋,看不到實現(xiàn)的代碼,那是沒辦法的了现横,或許可以在-mapView:viewForAnnotation:這個方法找找原因漓拾,
3.最后我想說的是
遇到類似的問題,或許可以在下游代碼中尋找解決的辦法戒祠。
ps:上面那個問題解決了