我有大量的对象需要保存以供离线使用.目前,我使用创建NSCoder兼容类的对象和编码数据到文件离线可用.
所以在.h中我介绍了这些对象:
@interface MyClass : NSObject<NSCoding>{
NSNumber* myObject;}
@property(nonatomic,retain) NSNumber* myObject;
Run Code Online (Sandbox Code Playgroud)
在.m我做的是:
- (id) initWithCoder: (NSCoder *)coder {
if (self = [super init]) {
[self setMyObject: [coder decodeObjectForKey:@"myObject"]];
}
}
- (void) encodeWithCoder: (NSCoder *)coder {
[coder encodeObject: myObject forKey:@"myObject"];
}
Run Code Online (Sandbox Code Playgroud)
所以这个类只是带有getter和setter的虚拟存储.这里有更好的方法来进行解码/编码.我能以某种方式使用@dynamic或键值编码进行编码和解码吗?基本上我希望类中的所有变量都保存到文件中,并在程序启动时返回到对象.这种方法有效,但创建所有类需要花费时间和精力.