多核模型的iPhone核心数据迁移

时间:2010-07-13 16:07:15

标签: iphone migration core-data

我的项目中有两个模型,我想允许其中一个版本。这是我做的:

  • 选择modelOne.xcdatamodel,然后选择Design>数据模型>添加模型版本。
  • 单击命令+ i然后将版本添加到modelOne.xcdatamodeld中的modelOne.xcdatamodel
  • 修改了modelOne.xcdatamodel,只添加了一些属性。
  • 在委托中,我将选项字典添加到NSPersistentStoreCoordinator,并通过合并两个模型获得NSManagedObjectModel:

    NSString *path1 = [[NSBundle mainBundle] pathForResource:@"modelOne" ofType:@"momd"];
    NSURL *momURL1 = [NSURL fileURLWithPath:path1];
    NSManagedObjectModel *modelOne = [[NSManagedObjectModel alloc] initWithContentsOfURL:momURL1]; NSString *path2 = [[NSBundle mainBundle] pathForResource:@"modelTwo" ofType:@"mom"];
    
    NSURL *momURL2 = [NSURL fileURLWithPath:path2];
    NSManagedObjectModel *modelTwo = [[NSManagedObjectModel alloc] initWithContentsOfURL:momURL2];      
    
    
    NSManagedObjectModel *managedObjectModel = [NSManagedObjectModel modelByMergingModels:[NSArray arrayWithObjects:modelOne, modelTwo, nil]];
    
  • 最后我做了一个干净的构建,我得到了关于'无法找到源存储模型'的错误。

知道如何解决这个问题吗? (注意:如果我只使用mergedModelFromBundles,我得到另一个错误'无法将模型与名为Entity1的两个不同实体合并'

1 个答案:

答案 0 :(得分:-2)