我有一个 NSMutableArray 保存类型为 Person (NSString,NSString,int) 的对象
我正在寻找一种简单的方法来将该数组保存到光盘并稍后再次加载。
我读了很多有关序列化的内容,但我从未这样做过。也许这对我来说并不是最简单的方法。
第一步是让您的 Person 类实现 NSCoding 协议。基本策略是实现两种方法来序列化和取消序列化要在会话之间保留的每个对象的实例变量。
#pragma mark NSCoding Protocol
- (void)encodeWithCoder:(NSCoder *)encoder;
{
[encoder encodeObject:[self foo] forKey:@"foo"];
[encoder encodeDouble:[self bar] forKey:@"bar"];
}
- (id)initWithCoder:(NSCoder *)decoder;
{
if ( ![super init] )
return nil;
[self setFoo:[decoder decodeObjectForKey:@"foo"]];
[self setBar:[decoder decodeDoubleForKey:@"bar"]];
return self;
}
要实际将对象写入磁盘,您可以使用 NSArraywriteToFile:
方法,或者如果您想更明确地了解它是如何完成的,请使用 NSKeyedUnarchiver 类。在这两种情况下,如果您想在数据文件中包含其他项目(例如文件格式编号),您还可以将数组放入另一个数据结构(例如字典)中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)