【问题标题】:Core data model migration核心数据模型迁移
【发布时间】:2014-02-03 08:34:24
【问题描述】:

我想迁移两个模型的核心数据。根据苹果文档,有两种方法可以迁移模型,如轻量级迁移和映射模型。我的困惑是在哪种情况下我需要使用核心数据迁移的映射模型方式。

【问题讨论】:

    标签: ios core-data core-data-migration


    【解决方案1】:

    当您添加/修改/删除属性或实体时执行轻量级迁移 - 通常是简单的操作。

    当您必须将一种模式转换为另一种模式时,需要使用映射选项。 假设您和实体A,但您需要将其一分为二:B 和C。 然后你必须告诉 CoreData 如何在方案之间映射实体和属性。

    这个过程比轻量级迁移要复杂一点。它需要创建映射模型文件,如果需要,定义NSEntityMigrationPolicy子类等等,这取决于您的需要。

    【讨论】:

    • 感谢 Oczko 的快速回复...如果我正确理解了将实体 A 拆分为实体 B 和实体 C 等两个现有实体时需要映射模型。但我有一个疑问,我可以通过以下方式处理这种情况比如在创建新模型时从实体 A 中删除属性并手动添加到 B 和 C 中。通过这种方式 LightWeight 迁移是否足够?
    • 如果应用程序正在开发中,并且您不介意丢失数据,那很好。否则就不安全了,因为 CoreData 不知道如何填充新添加的属性。
    猜你喜欢
    • 1970-01-01
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 2012-09-12
    相关资源
    最近更新 更多