ios - CoreData : Multiple Devs, 版本化模型并保持最新

标签 ios macos core-data

情况:

我们是开发同一产品的多名开发人员。

我们有核心数据模型的 1.0 版,目前在应用商店上架。

我正在研究 1.1 的功能,需要创建一个新的数据模型“版本”,我将其命名为“1.1”

我的另一位开发人员正在为该应用程序的 2.0 版开发功能,距此还有一年的时间。 他还需要对核心数据进行更改,因此他创建了一个新的“版本”基于 1.0,他将其命名为“2.0”

我修改了 1.1 中的一些实体(假设我向我的“Cats”实体添加了两个属性),然后我们将应用程序发布到应用程序商店。

现在他想确保将 1.1 中所做的任何更改“合并”到他的 2.0 模型中。 (即他的 2.0 模型现在应该有更新的“猫”实体)我们如何才能实现这一点,而不必记录我们所做的每一个更改,并在 2.0 版本中手动添加/修改它们?

据我所知,在核心数据中创建一个新的“版本”会对版本文件进行“深度复制”(而不是引用它并进行更改)

谢谢!

最佳答案

事实上,我认为没有绝对自动的方法可以实现这一点,但您可以使用 Core Data 迁移工具。

例如,创建一个从 2.0 到 1.1 的映射模型会让您的开发人员看到发生了什么变化以及如何变化,这样他就能够轻松地添加所需的变化。

事实上,您将来肯定会使用映射模型,使您的新版本可以使用以前版本的数据,因此朝这个方向看会很有用。

您可以阅读有关核心数据映射的更多信息 here .

Example from iDeveloperTV's Core Data migration

关于ios - CoreData : Multiple Devs, 版本化模型并保持最新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15344476/

相关文章:

objective-c - 是否基于文档的应用程序?

iphone - 从具有多对多关系核心数据 iOS 的上下文中删除 nsmanagedobject

ios - 如何在 UITableView 中将 UITableViewCell Image 更改为 Circle

iphone - Objective-C:如何覆盖/替换库中的类

node.js - npm install -g 创建名为“密码 : everytime”的文件夹

spring - 尝试设置 PSQL,我收到此错误 :

ios - 将 componentsseparatedbystring 添加到具有核心数据的谓词中

php - toDataURL() 从 iOS 设备返回空白图像

ios - Cordova geolocation.getCurrentPosition 在 iPad 上抛出超时

java - 如何远程连接JDBC