标题几乎解释了它。我需要先序列化对象,还是有可能?
问问题
6669 次
4 回答
14
您必须对对象(在您的数组中)中的对象进行编码/解码,并将数组存档到 NSData。
只需添加
<NSCoding>
到您的对象的类(在您的数组中)并遵循编译器的警告:D
然后像这样归档你的数组:
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:yourArray];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:data forKey:@"yourKey"];
NSArray *array= [NSKeyedUnarchiver unarchiveObjectWithData:[defaults objectForKey:@"yourKey"];
看看这个http://soff.es/archiving-objective-c-objects-with-nscoding
于 2013-02-11T12:26:55.953 回答
1
你需要序列化它。
来自 NSUSerDefaults 的苹果文档:
NSUserDefaults 类提供方便的方法来访问常见类型,例如浮点数、双精度数、整数、布尔值和 URL。默认对象必须是一个属性列表,即以下实例(或集合实例的组合):NSData、NSString、NSNumber、NSDate、NSArray 或 NSDictionary。如果要存储任何其他类型的对象,通常应该将其归档以创建 NSData 的实例。有关更多详细信息,请参阅首选项和设置编程指南。
于 2013-02-11T12:23:16.613 回答
1
于 2013-02-11T12:28:12.637 回答
1
是的,有可能,只是你必须在存储和检索 NULL 值时处理它,
于 2013-02-11T12:31:05.083 回答