执行 Core Data 迁移时,如何从不同实体的源存储中继承旧值?

Posted

技术标签:

【中文标题】执行 Core Data 迁移时,如何从不同实体的源存储中继承旧值?【英文标题】:When performing a Core Data migration, how can I carry over old values from the source store from a different entity? 【发布时间】:2012-08-03 01:20:24 【问题描述】:

我正在使用 Core Data 的标准映射模型方法执行迁移,它似乎工作正常,除了一件事:我已将属性从一个实体移动到另一个实体,并且我想移动基础值作为迁移的一部分,从源存储到该新实体。

应该是可能的,但我无法弄清楚我需要采取哪些步骤来完成此操作。

【问题讨论】:

【参考方案1】:

我认为一种方法是继承NSEntityMigrationPolicy 并将您的逻辑放在那里。在那里您可以导入其他所需实体的类文件。

在 Xcode 中,您可以将“属性映射”下的“表达式”设置为FUNCTION($entityPolicy, "yourMethodName", $source)

【讨论】:

以上是关于执行 Core Data 迁移时,如何从不同实体的源存储中继承旧值?的主要内容,如果未能解决你的问题,请参考以下文章

如何从Core Data中的字符串获取Processed字符串

iOS - 如何使用 Core Data 将 2 个实体迁移到 1 个?

如何将实体上的属性迁移到 Core Data 中的实体

在 Core Data 中进行重量级迁移时尝试迁移 nil 属性值

Core Data 自动迁移不会在我的新模型中创建新实体

在 Core Data 迁移期间添加关系 - 自我参考