在我的iOS7應用程序中,我有一個名爲ICVModel的單例。當應用程序啓動時,此單身人士將被初始化並創建CLLocationManager
,立即開始更新位置。這工作正常,CLLocationManager
是ICVModel
的強大財產。我實施了didUpdateLocations:
,總是把最後的位置保存到ICVModel
在這個單身人士身上的強大財產。當應用程序變爲活動狀態時,didUpdateLocations中的Exc_bad_acces
我的問題是,當應用程序被切換到後臺與比再次變得活躍,我一直在didUpdateLocations:
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
[ICVModel sharedSingleton].lastLocation = [locations lastObject]; //EXC_BAD_ACCESS
}
而且我的應用程序獲得EXC_BAD_ACCESS採用基於區域的通知,所以是不是可以在這這種方法在應用程序處於後臺時調用(並且ICVModel被釋放?)?
我不知道爲什麼......非常感謝!
這可能會幫助你http://stackoverflow.com/questions/327082/exc-bad-access-signal-received –
更可能其中之一是零,你可以把NSLog放在代碼行的前面以顯示他們的內容 – Flexicoder
我認爲你的單例實現有問題,但肯定設置了一個異常斷點,並看到回溯 – sage444