我通过创建一个新的设置包文件然后填写它用键和值创建的plist来创建一些NSUserDefaults。
我的一个值是一个名为“收藏夹”的数组。
我正在尝试使用以下方式加载它:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *tempArray = [[NSArray alloc] init];
tempArray = [defaults arrayForKey:@"favorites"];
所有我回来的都是(null)
我读过的一篇帖子说你必须手动创建NSArray并将其保存在你的设置包中,以便知道它实际上是一个真正有效的数组。真的是这样吗?或者我只是读错了数组?
答案 0 :(得分:2)
看起来没有NSArray存储在NSUserDefaults中。
要保存空数组,请尝试:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *tempArray = [NSArray array];
[defaults setObject:tempArray forKey:@"favorites"];
现在你应该能够像最初尝试一样拉出阵列。
要从数据库中提取数据,这是一个完全独立于NSUserDefaults的野兽,请尝试:
NSDictionary *dictionary = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"YourPlistFileName" ofType:@"plist"]];
myArray = dictionary[@"favorites"];