是否总是需要迁移?

时间:2017-09-19 11:29:01

标签: ios core-data magicalrecord

现在我在AppDelegate.m中的代码是:

[MagicalRecord setupAutoMigratingCoreDataStack];
[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"db.sqlite"];

费用多少?是否存在任何代码:

if (DB.version == newVersion) {
    [MagicalRecord setupAutoMigratingCoreDataStack];
    [MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"db.sqlite"];
}
else {
    [MagicalRecord setupCoreDataStack];
    [MagicalRecord setupCoreDataStackWithStoreNamed:@"db.sqlite"];
}

这会节省一些性能而不是每次强制迁移?或者MagicalRecord / CoreData是否在内部处理这个if语句?

1 个答案:

答案 0 :(得分:0)

除非必要,否则核心数据不会自动迁移。第一个版本没有强迫"强制"迁移。 Core Data始终检查是否可以使用当前版本的数据模型加载持久性存储文件。唯一的区别是如果版本不匹配会发生什么。如果他们匹配,则没有其他与迁移相关的工作。