我正在尝试执行轻量级迁移,但由于我创建初始数据模型的方式而遇到问题。最初的数据模型没有版本化,所以现在下面的代码:
-(NSManagedObjectModel *)managedObjectModel {
//NSLog(@"%s", __FUNCTION__);
if (managedObjectModel != nil) {
return managedObjectModel;
}
//managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
NSString *mainPath = [[NSBundle mainBundle] pathForResource:@"myDatabase" ofType:@"momd"];
NSURL *mainMomURL = [NSURL fileURLWithPath:mainPath];
managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:mainMomURL];
return managedObjectModel;
}
返回错误:* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“* -[NSURL initFileURLWithPath:]: nil string parameter”
我很确定这是因为最初的数据模型——我已经在我的应用程序中部署给很多人的那个——具有 mom 扩展而不是 momd 扩展。但是,如果我把它拿出来并恢复到
managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
我收到错误消息:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法将模型与两个名为...的不同实体合并
我希望这不是第一次有人遇到这种情况......我可以做些什么来为我当前的所有用户成功迁移吗?