从NSUserDefaults
. 我第一次读它很好。我得到数据并且没问题。第二次,我崩溃了/我得到了空值。
我已经检查过的事情:
- 不,我不会在其他地方删除它。
- 不,没有其他人同时调用它。
- 如果它为零?它不应该是零,也没有我擦除它的地方,并且在第一次(有数据)和第二次(崩溃)之间,甚至没有人触摸它。
- 它节省
NSMutableArray
了NSData
,它可能很好,因为它在第一次调用时起作用。
会是什么呢?
return [[NSUserDefaults standardUserDefaults]objectForKey:@"tempImagesArray"];
我什至没有放代码来保存它,因为我在第一次启动应用程序时保存了它,第二次我什至没有保存任何东西,它从上次在内存中就在那里。(它在第一次调用而不是在第二次调用)
编辑::: 我在崩溃时看到的汇编程序:
0x19f8e2c: movl %eax, (%esp)
0x19f8e2f: calll 0x1bcdfee ; symbol stub for: objc_msgSend
0x19f8e34: jmp 0x19f8e38 ; -[NSUserDefaults(NSUserDefaults) objectForKey:] + 74
0x19f8e36: xorl %eax, %eax
0x19f8e38: addl $20, %esp