【发布时间】:2010-07-13 16:07:14
【问题描述】:
我的项目中有两个模型,我想允许其中一个模型的版本。这是我所做的:
- 选择 modelOne.xcdatamodel,然后选择 Design > Data Model > Add Model Version。
- 点击command + 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 的两个不同实体合并”的错误
【问题讨论】:
-
我也有同样的问题——你解决了吗?
标签: iphone migration core-data