iOS核心数据的轻量级数据迁移示例?

时间:2011-07-08 10:18:03

标签: core-data ios4 data-modeling data-migration

Apple提供doc轻量级迁移,xcode4之前的sample很好。

在xcode4中看起来有点不同。

感谢xcode4中的简单样本的任何线索,以说明核心数据的数据迁移。

1 个答案:

答案 0 :(得分:0)

注意添加选项NSDictionary和NSPersistentStoreCoordinator初始化程序现在将options参数设置为从nil到options

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
    if (__persistentStoreCoordinator != nil)
    {
        return __persistentStoreCoordinator;
    }

    NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"TradiesDB.sqlite"];

    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                             [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                             [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];

    NSError *error = nil;
    __persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
    if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error])
    {
        /*
            ...
         */
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        abort();
    }    

    return __persistentStoreCoordinator;
}