我遇到CoreData应用程序的问题...当您选择使用核心数据进行存储时,它会崩溃苹果提供的样板代码。
- (NSManagedObjectModel *)managedObjectModel {
if (managedObjectModel_ != nil) {
return managedObjectModel_;
}
NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"iLoveForLife" ofType:@"momd"];
NSURL *modelURL = [NSURL fileURLWithPath:modelPath];
managedObjectModel_ = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return managedObjectModel_;
}
它表示 *由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'* - [NSURL initFileURLWithPath:]:nil string parameter'
这里的任何想法......
答案 0 :(得分:0)
不知怎的,我丢失了我的xcodedatamodeld文件。当我创建一个新的时,它被称为xcodedatamodel。
答案 1 :(得分:0)
您应该使用以下内容来获取托管对象模型:
managedObjectModel_ = [NSManagedObjectModel mergedModelFromBundles:nil]
它将在主应用程序包
中搜索所有可用的托管对象模型答案 2 :(得分:-1)
有同样的问题。 我正在通过添加测试来解决这个问题,看看modelURL是否为零 - 这与所有数据模型现在都在iOS5 SDK中“版本化”的事实有关。
我现在这样做:
NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"iLoveForLife"
ofType:@"momd"];
NSURL *modelURL = [NSURL fileURLWithPath:modelPath];
if (modelURL == nil)
NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"iLoveForLife"
ofType:@"mom"];
managedObjectModel_ = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
注意“ofType”参数从妈妈变为妈妈。我知道这不太理想,但它会让你失意。 一旦我弄清楚为什么会发生这种情况,我会发布一些东西: - )