如果使用映射模型,您的源模型將是v1.0模型,目標將是您的新v2.0模型。您可以通過使用輕量級遷移而不使用映射模型而脫身,文檔here。
這就是說你需要去你的應用程序委託並設置持久存儲的相關選項。
它應該是這個樣子
NSDictionary *options = @{NSMigratePersistentStoresAutomaticallyOption: @YES, NSInferMappingModelAutomaticallyOption: @YES};
[persistentStoreCoordinator addPersistentStoreWithType:storeType configuration:config URL:storeURL options:options error:&error];
的NSMigratePersistentStoresAutomaticallyOption
鍵告訴核心數據檢查當前管理對象模型版本是你使用,併到店遷移到更新的模型商店不同。 NSInferMappingModelAutomaticallyOption
告訴它試圖將自己的映射工作。這是'輕量級遷移'位。
大部分情況已經存在,您只需添加選項字典即可。它將在- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
方法中。如果您未設置至少NSMigratePersistentStoresAutomaticallyOption
,則不會進行移植。
輕量級映射在開發時也很有用。這意味着您可以對模型進行更改,而無需每次都重新映射映射。