在任何人说它的一个问题之前已经被问过很多次,我已经经历了大约20个不同的答案并尝试了我找到的所有东西。尽管如此,我只在5天前开始了客观的C,所以可能有一些非常简单的解决方案。NSUserDefaults不加载字符串数组
看起来NSUserDefaults不会从默认的属性列表中加载数组,尽管被调用的方式很多。之前我去,这是我读的数组代码:
fishArrayMutable = [[NSMutableArray alloc] initWithArray:(NSArray*)[defaults objectForKey:@"fishArray"] copyItems:TRUE];
if (fishArrayMutable == nil)
{
fishArrayMutable = [[NSMutableArray alloc] init];
UIAlertView *alert = [[UIAlertView alloc] init];
[alert setTitle:@"fishArray = nil"];
[alert addButtonWithTitle:@"Ok"];
[alert show];
[alert release];
}
这里是我写的阵列码:
[defaults setObject:fishArrayMutable forKey:@"fishArray"];
[defaults synchronize];
这是开始,现在成为一个非常令人沮丧的问题,我已经找到了隔离问题的方法,并在阅读部分得出了它的结论。 Mutable数组在头文件中声明。请帮帮忙,这已被窃听我现在约6小时...
你把什么样的对象为fishArray? – 2012-04-13 10:25:00
字符串,你的鱼的名字.. Theres也是一个名为fishSizeArray的数组,它是相同的 – DuskFall 2012-04-13 10:28:34
我在这里混淆了。你什么时候把对象设置为默认值?在你分配它之前..?因为你正在分配fishArrayMutable&同一时间你要求fishArrayMutable存储在默认值。所以我很困惑..!如果我丢失了任何东西,请帮助我 – 2012-04-13 10:32:43