我在我的应用程序中使用了这段代码一段时间,它按预期工作。但现在,它与setInteger在线上崩溃:NSUserDefaults与setInteger崩溃
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
int selEvent = [defaults integerForKey:@"selected_event"];
/*
* Do Something with selEvent
* New ID is in NSNumber event_id
*/
[defaults setInteger:[event_id intValue] forKey:@"selected_event"]; //Crashes on this line
[defaults synchronize];
工作在Xcode 4.5.1和iPad 6.0模拟器。
我得到一个EXC_BAD_ACCESS。
我的问题是什么原因?
你和你是如何创建event_id(是在相同的方法,你把它保存到默认或不)?另外,你在你的项目中使用ARC吗?使用arc的 – Vladimir
,event_id的创建方式与之前相同。它具有一个有效值,如果我在setInteger之前停止了程序:(与之前一样) – jussi
相同的代码在我的iPad 6.0模拟器上正常工作。区别在于我没有使用弧。 – PeakCoder