我有一个使用核心数据的应用。我能够在我的应用程序第一次构建并在模拟器中运行时保存和获取数据,但是,当我关闭应用程序,在模拟器中将其杀死并重新运行时,它会与EXC_BAD_ACCESS
崩溃主要内部。
如果我在模拟器上卸载应用程序并再次运行它,那么每件事情都会正常工作,直到我关闭应用程序并在发生同样的事情时再次打开它。
这在将核心数据添加到我的应用程序之前从未发生过,所以我假设它与此有关。下面是崩溃后的回溯。
有可能在杀死应用程序后我没有正确地“关闭”我的持久存储吗? 感谢任何帮助,谢谢。
(gdb) backtrace
#0 0x01700df5 in objc_release ()
#1 0x01701c60 in (anonymous namespace)::AutoreleasePoolPage::pop ()
#2 0x01490ed8 in _CFAutoreleasePoolPop ()
#3 0x00e959f9 in -[NSAutoreleasePool release] ()
#4 0x005a4f78 in _UIApplicationHandleEvent ()
#5 0x02154fa9 in PurpleEventCallback ()
#6 0x015301c5 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#7 0x01495022 in __CFRunLoopDoSource1 ()
#8 0x0149390a in __CFRunLoopRun ()
#9 0x01492db4 in CFRunLoopRunSpecific ()
#10 0x01492ccb in CFRunLoopRunInMode ()
#11 0x005a12a7 in -[UIApplication _run] ()
#12 0x005a2a9b in UIApplicationMain ()
#13 0x00001f29 in main (argc=1, argv=0xbfffebc4) at main.m:14
#14 0x00001ea5 in start ()
更新
启用僵尸对象和异常记录
2012-02-12 14:13:06.162 App[75491:207] *** -[_PFArray release]: message sent to deallocated instance 0x6d71960
(gdb) backtrace
#0 0x014c2ce2 in __forwarding_prep_0___ ()
#1 0x01700e10 in objc_release ()
#2 0x01701c60 in (anonymous namespace)::AutoreleasePoolPage::pop ()
#3 0x01490ed8 in _CFAutoreleasePoolPop ()
#4 0x00e959f9 in -[NSAutoreleasePool release] ()
#5 0x005a4f78 in _UIApplicationHandleEvent ()
#6 0x02154fa9 in PurpleEventCallback ()
#7 0x015301c5 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#8 0x01495022 in __CFRunLoopDoSource1 ()
#9 0x0149390a in __CFRunLoopRun ()
#10 0x01492db4 in CFRunLoopRunSpecific ()
#11 0x01492ccb in CFRunLoopRunInMode ()
#12 0x005a12a7 in -[UIApplication _run] ()
#13 0x005a2a9b in UIApplicationMain ()
#14 0x00001f29 in main (argc=1, argv=0xbfffeb64) at main.m:14
#15 0x00001ea5 in start ()