【发布时间】:2013-08-14 17:58:46
【问题描述】:
我创建了一些 NSUserDefaults,方法是创建一个新的 Settings Bundle 文件,然后用键和值填写它创建的 plist。
我的价值观之一是一个名为“收藏夹”的数组。
我正在尝试使用以下方式加载它:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *tempArray = [[NSArray alloc] init];
tempArray = [defaults arrayForKey:@"favorites"];
我得到的只是(null)
我读到的一篇文章说您必须手动创建 NSArray 并将其保存在您的设置包中,以便它知道它实际上是一个真实有效的数组。真的是这样吗?还是我只是读错了数组?
【问题讨论】:
-
你能贴出你用来保存数组的代码吗?
-
听起来好像没有为关键的“收藏夹”保存数组。如果您想这样做,您可以执行 [defaults setObject:tempArray forKey:@"favorites"] 之类的操作,然后您可以像现在一样将该数组从用户默认值中提取出来
-
新的数组分配不是必须的,也可能是你的key有错别字,这就是为什么我建议你使用常量而不是纯字符串
-
@ErikGodard - 如我的问题所述:我使用 Plist 创建了我的 NSUserDefaults,而不是使用代码。没有用于保存数组的代码。
-
保存时,让它同步或告诉我你是如何保存到 NSUserDefaults 中的
标签: ios objective-c nsarray nsuserdefaults