【发布时间】:2011-07-01 23:13:34
【问题描述】:
我有一些模型类想用 CoreData 框架存储。我创建了 xcdatamodel 文件并将这些已经存在的类添加到 CoreData 模型文件中。我还从 XCode 的核心数据项目模板中复制了负责管理上下文等的代码。
现在我有如下代码(复制过来了,只是文件名改成了HistoryDataModel):
- (NSManagedObjectModel *)managedObjectModel {
if (managedObjectModel != nil) {
return managedObjectModel;
}
NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"HistoryDataModel" ofType:@"momd"];
NSLog(@"Model path:", modelPath);
NSURL *modelURL = [NSURL fileURLWithPath:modelPath];
managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return managedObjectModel;
}
现在,当我运行此代码并尝试访问 CoreData 中的数据时,出现以下错误:
* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“* -[NSURL initFileURLWithPath:]: nil string parameter”
它发生在
NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"HistoryDataModel" ofType:@"momd"];
正在执行(模型路径为空字符串)。
任何想法我可能做错了什么? 谢谢!
【问题讨论】: