现在我在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语句?
答案 0 :(得分:0)
除非必要,否则核心数据不会自动迁移。第一个版本没有强迫"强制"迁移。 Core Data始终检查是否可以使用当前版本的数据模型加载持久性存储文件。唯一的区别是如果版本不匹配会发生什么。如果他们匹配,则没有其他与迁移相关的工作。