CoreData 自动升级

  1. 选择 xxxxx.xcdatamodeld 文件,并生成 xxxxx2.xcdatamodeld。

  2. 在 inspector 中的选择 当前的Core Data Model 为 xxxxx2.xcdatamodeld。

  3. 修改新数据模型 xxxxx2.xcdatamodeld,在新的文件上添加字段及表。

  4. 删除原来的 NSManagedObject 文件,重新生成下 NSManagedObject 类。

  5. 修改 appdelegate 文件 persistentStoreCoordinator 函数,如下:


_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc]
                              initWithManagedObjectModel:
                              [self managedObjectModel]];
    
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                        [NSNumber numberWithBool:YES],
                        NSMigratePersistentStoresAutomaticallyOption,
                        [NSNumber numberWithBool:YES],
                        NSInferMappingModelAutomaticallyOption, nil];
    
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
                                               configuration:nil
                                                         URL:storeURL
                                                     options:options
                                                       error:&error]) {
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}

你可能感兴趣的:(CoreData 自动升级)