【发布时间】:2013-10-11 14:08:58
【问题描述】:
我遇到了线程 1 的问题:EXC_BAD_ACCESS (code=1, address=0xf00000c),我不知道如何解决。 当我更改核心日期中的某个对象并保存它并尝试将此控制器弹出到父级时,它出现了。 此错误在带有 retVal 的 main() 中。 这是一些代码
int retVal;
@try {
retVal = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
*/\ error is here**
}
@catch (NSException *exception) {
NSLog(@"%@", [exception callStackSymbols]);
@throw exception;
}
return retVal;
重新运行应用程序后,我的所有更改都在核心数据中。更重要的是这个问题只在 iOS 7 上。iOS 6.1 是可以的。
有人知道如何解决吗?
【问题讨论】:
-
您能在此处附上完整的堆栈跟踪吗?错误不太可能出现在
main()中,它更有可能出现在您的代码深处。您还可以尝试使用“Zombies”跟踪模板在 Instruments 中运行您的应用程序,这应该可以帮助您追踪导致问题的对象。 -
我承诺你,错误不在
main()中,这正是调试器在其他所有事情都展开后转储你的地方。 -
EXC_BAD_ACCESS是硬崩溃,无法通过@catch捕获。 -
当您尝试在后台线程上做一些 UI 操作时,有时也会出现这种情况。我正在显示来自后台线程的警报。
-
如果您的问题与
CoreData的NSMAnagedContext.save()方法有关。我建议从 perform 块中保存上下文,以确保 CoreData 所需的所有数据仍然可用
标签: iphone objective-c ios7 xcode5