我在我的應用程序中使用了這段代碼一段時間,它按預期工作。但現在,它與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