我的项目中有两个模型,我想允许其中之一的版本。这是我所做的:
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的不同实体合并”的错误
最佳答案
我有一个类似的问题。原来,旧的 .mom
编译模型文件仍在模拟器上的应用程序包中。显然,当您清理项目时,它不会擦除模拟器上的应用程序捆绑包。手动从模拟器中删除应用程序,然后在再次构建之前进行清理解决了问题。