我已经看到了一些关于此的问题,但我认为这些问题并不能解决我的问题。
在我的方法中,我有......在一个 if 语句中,我在第一次启动我的应用程序时使用它来设置默认值。
NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];
[myDefaults setObject:@"1" forKey:kNSUAccountSelection];
[myDefaults synchronize];
再往下,我用另一个键做同样的事情。
然后我运行这个...
NSString *account_name = [[accountArray objectAtIndex:[accountArray
indexOfObject:[[NSUserDefaults standardUserDefaults]
objectForKey:kNSUAccountSelection]]] objectForKey:@"Account_Name"];
这会导致错误。
由于未捕获的异常“NSRangeException”而终止应用程序,原因:“-[NSMutableArray objectAtIndex:]: index 2147483647 beyond bounds [0 .. 0]”
所以我尝试了......直接在那条线之前......
NSUserDefaults *myDefaults2 = [NSUserDefaults standardUserDefaults];
NSString *str = [myDefaults2 stringForKey:kNSUAccountSelection];
str 返回零。
在我的 constants.h 文件中,我有...
#define kNSUAccountSelection @"accountselection"
是的,accountArray 是从我的数据库中填充的并且具有值。
我不明白为什么我得到零以及我必须做些什么来解决这个问题?从我读过的内容来看,这应该可行。