我正在尝试使用 NSUserDefaults 保存数组。我已经让它在我的应用程序的其他部分工作,我似乎无法弄清楚为什么它现在不起作用。似乎它正在向 userDefaults-array 添加(null),但是当我 NSLog 我试图添加的内容时([mainDelegate.globalValdaFragor objectAtIndex:i])我可以看到我想要输入的值。
问题似乎是我无法向“felPaFragor”数组添加任何内容,因为当我尝试 NSLog 它时,我得到(null),而当我用另一个“随机”数组尝试它时它起作用了。
RPAppDelegate *mainDelegate = (RPAppDelegate *)[[UIApplication sharedApplication]delegate];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *felPaFragor = [[NSMutableArray alloc] init];
felPaFragor = [[defaults valueForKey:@"felFragorArray"] mutableCopy];
[felPaFragor addObject:[mainDelegate.globalValdaFragor objectAtIndex:i]];
[defaults setObject:felPaFragor forKey:@"felFragorArray"];
任何帮助将不胜感激。
编辑:我想我想通了。似乎我试图制作一个空数组的 mutableCopy ,而这反过来又使我的“felPaFragor”-array 出现故障。添加它使其工作。
felPaFragor = [[NSMutableArray alloc] init];
if ([[defaults valueForKey:@"felFragorArray"] objectAtIndex:0] != NULL) {
felPaFragor = [[defaults valueForKey:@"felFragorArray"] mutableCopy];
}