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