我試圖歸檔輕量級遷移後的一些處理。我已經做了輕量級的過程,我現在需要一些幫助來處理我的實體。CoreData輕量級遷移+自定義
在舊模型上,我曾經有一個實體「汽車」,現在我添加實體「人」的關係人有汽車。
因此,輕量級遷移後,我需要添加一個默認的人「約翰」,並添加所有的汽車給他。
有沒有人有一些想法?
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
if (_persistentStoreCoordinator != nil) {
return _persistentStoreCoordinator;
}
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"CoreData.sqlite"];
NSError *error = nil;
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
NSDictionary *options = @{
NSMigratePersistentStoresAutomaticallyOption : @YES,
NSInferMappingModelAutomaticallyOption : @YES
};
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
return _persistentStoreCoordinator;
}
感謝您的幫助。如果將來我做了我的模型的另一個版本呢?有什麼方法可以跟蹤?就像,如果我升級到V2插入約翰,如果升級到V3插入文森特? – 2013-05-09 16:14:07
是的,您可以隨時查詢「NSObjectModel」的版本,如其他答案中所述。 – Mundi 2013-05-09 22:45:28