Objective-c 应用更新和核心数据

Posted

技术标签:

【中文标题】Objective-c 应用更新和核心数据【英文标题】:objective-c app update and core data 【发布时间】:2014-06-25 06:48:11 【问题描述】:

有一件事困扰着我,我正在开发 ios 应用程序。首先,当 hasPerformedFirstLaunch 我加载核心数据时,它运行良好。但稍后,当我更新我的应用程序时。我想更改核心数据。我该怎么做或者你怎么做?这是一个会累积更新的大量数据的应用程序。

我的第一次发布

    if (![[NSUserDefaults standardUserDefaults] boolForKey:@"hasPerformedFirstLaunch"]) 
    [self initialCoreData];
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"hasPerformedFirstLaunch"];
    [[NSUserDefaults standardUserDefaults] synchronize];

【问题讨论】:

【参考方案1】:

Core Data 能够自动将模型从旧版本迁移到新版本,尽管有一些限制。有lots of documentation,如果你搜索“轻量级迁移”,就会有一些不错的教程。

【讨论】:

【参考方案2】:

让我们来定义一下“说改变核心数据”是什么意思。

您是在谈论更改模型架构吗? 还是只更新捆绑的数据库?

在第一种情况下,您应该遵循核心数据的迁移过程,有很多关于如何操作的信息。基本上你有 2 个选择,轻迁移或重迁移。 在第二种情况下,就像更改捆绑文件一样简单,但如果您还更改了模型方案,您很快就会遇到崩溃。

【讨论】:

以上是关于Objective-c 应用更新和核心数据的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI 应用程序中上下文保存的核心数据 Objective-C 异常

Objective-C中的 id, isa,和 instancetype

IOS/Objective-C:无法显示核心数据信息

Objective-C 核心数据:从孩子的孩子访问数据

什么是Objective-C中Android的“Spannable”等价物

为啥我不能更新核心数据实体属性的布尔值?