2011-07-13 129 views
2

我在我的应用程序中使用核心数据。我的应用程序工作正常..我最近重置我的模拟器设置,现在该应用程序抛出异常。我读了所有帖子和清理我的目标也不过它没有运行,,然后我设置断点,发现异常在此代码核心数据模型抛出异常

- (NSManagedObjectModel *)managedObjectModel { 

    if (managedObjectModel_ != nil) { 
     return managedObjectModel_; 
    } 
    NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"TouristGuide" withExtension:@"momd"]; 
    managedObjectModel_ = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];  
    return managedObjectModel_; 
} 

此代码是我的AppDelegate文件的最后一行。而例外的是

*终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因是:

+0

如果您有两个数据模型,请检查哪一个是活动的。 – karim

+0

你在你的persistentStoreCoordinator访问器中调用'[self managedObjectModel]'吗? –

+0

我有一个活动的数据模型 – iProgrammer

回答

2

为TH '不能用零模型创建 NSPersistentStoreCoordinator' e错误说,模型似乎是零,或者更确切地说modelURL。您可以通过添加NSLog(@"%@", modelURL)来查看此信息,它将打印(null)

确保您的模型真的名为TouristGuide,并且在mainBundle中,即在构建时添加。

+0

好的..让我试试 – iProgrammer

+0

它正在打印NUll – iProgrammer

+0

如果名称正确,请确保您的.xcdatamodeld文件已添加到编译源列表中(在Xcode 4中,单击左侧的项目,选择你的目标,去建立阶段和检查编译源)。 – fabian789

相关问题