在我的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