【发布时间】:2014-06-04 22:01:52
【问题描述】:
我想将版本控制添加到我的 UIDocument 本地存储设置中。在我需要本地存储的每个类中,我都会覆盖encodeWithCoder: 和initWithCoder:,如下所示:
#define kLovelyString @"LovelyString"
- (void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeObject:self.lovelyString forKey:kLovelyString];
}
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super init];
if (self)
{
self.lovelyString = [aDecoder decodeObjectForKey:kLovelyString];
}
return self;
}
我想通过添加版本控制来为我的模型的不同版本做准备。我是否应该简单地将[aCoder encodeInteger:version] 添加到encodeWithCoder: 并在initWithCoder: 中创建if/else 语句以确定如何处理每个版本?
据我所知,NSFileVersion 在这里没有帮助。
【问题讨论】:
-
是的,这就是这样做的方式。只需存储您在反序列化时阅读和处理的版本。
标签: ios objective-c versioning nscoding uidocument