我遇到了奇怪的行为NSUserDefaults
。我最初将一个数组存储到我的AppDelegate.m中的用户默认值:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *weekdayIDs = [defaults objectForKey:@"weekdayIDs"];
if (weekdayIDs == nil) {
weekdayIDs = [NSArray arrayWithObjects:@"su", @"mo", @"tu", @"we", @"th", @"fr", @"sa", nil];
[defaults setObject:weekdayIDs forKey:@"weekdayIDs"];
}
[defaults synchronize];
现在在不同的视图控制器ContentViewController.m中,我想检索数组:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *weekdayIDs = [defaults objectForKey:@"weekdayIDs"];
但我只是得到一个没有对象的数组,尽管它的count == 7
. 我也使用过arrayForKey:
,但结果相同。我从断点添加了一个屏幕截图。
我经常使用NSUserDefaults
,但目前我有点坚持。这可能是一个愚蠢的错误,有人愿意帮忙吗?
太感谢了!
- 更新:
我还认为首先可能是 NSArray 的 init 有问题,但即使用手动创建的对象替换它NSString *dwid_su = [NSString stringWithString:@"su"];
也不起作用。