我有4个带有个人数据的NSmutablearrays。
现在我需要将它们分别保存在NSuserdefaults中并单独检索它们。
我怎么能这样做,
任何人都可以发一些代码。
提前感谢你。
答案 0 :(得分:3)
数组的内容是什么?虽然NSUserDefaults可以存储数组,但它仅适用于包含NSData,NSString,NSNumber,NSDate,NSArray或NSDictionary的数组。如果您的数组中还有其他内容(自定义对象或除上述提示之外的其他Cocoa对象),则不能直接将其直接放入NSUserDefaults。
假设您的对象是正确的,您可以通过执行
来存储数组[[NSUserDefaults standardUserDefaults] setObject:yourArray forKey:@"aKey"];
您可以使用arrayForKey:方法再次将其取回。请注意,当您这样做时,它将不再是可变数组:您可以在返回的数组上调用mutableCopy以获取可变数组。此外,如果您在将数组存储到NSUserDefaults
后将其变异,则您的更改不会反映在应用的首选项中。
如果您有一系列不会进入NSUserDefaults的对象(即不在上面的列表中),那么所有对象都不会丢失:您需要查看NSCoding and archiving。