【问题标题】:iOS - UIDocument VersioningiOS - UIDocument 版本控制
【发布时间】: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


【解决方案1】:

正如@Dima 所说,这是标准实现。奖励 -- 最好将全局版本存储在您的数据库访问层中。

【讨论】:

    猜你喜欢
    • 2021-10-30
    • 1970-01-01
    • 2010-10-01
    • 2014-10-26
    • 2015-11-01
    • 2015-04-03
    • 2020-12-16
    • 1970-01-01
    相关资源
    最近更新 更多