【发布时间】:2012-01-20 07:21:09
【问题描述】:
我有大量的对象要保存以供离线使用。 目前,我使用创建符合 NSCoder 的类,以便将对象和编码数据归档以供离线使用。
所以我在 .h 中介绍了对象:
@interface MyClass : NSObject<NSCoding>{
NSNumber* myObject;}
@property(nonatomic,retain) NSNumber* myObject;
我在 .m 中进行初始化:
- (id) initWithCoder: (NSCoder *)coder {
if (self = [super init]) {
[self setMyObject: [coder decodeObjectForKey:@"myObject"]];
}
}
- (void) encodeWithCoder: (NSCoder *)coder {
[coder encodeObject: myObject forKey:@"myObject"];
}
所以这个类只是带有 getter 和 setter 的虚拟存储。 这里有更好的解码/编码方法吗? 我可以以某种方式使用@dynamic 或键值编码进行编码和解码吗? 基本上我希望在程序启动时将类中的所有变量保存到文件并返回到对象。 这种方法可行,但创建所有类需要时间和精力。
【问题讨论】:
标签: objective-c ios key-value nscoder