核心数据模型抛出异常
Posted
技术标签:
【中文标题】核心数据模型抛出异常【英文标题】:Core Data model Is throwing Exception 【发布时间】:2011-07-13 12:36:45 【问题描述】:我在我的应用程序中使用核心数据。我的应用程序运行良好。我最近重置了我的模拟器设置,现在该应用程序正在抛出异常。我阅读了所有帖子并清理了我的目标,但它没有运行,然后我设置了断点并在这段代码的最后一行发现异常
- (NSManagedObjectModel *)managedObjectModel
if (managedObjectModel_ != nil)
return managedObjectModel_;
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"TouristGuide" withExtension:@"momd"];
managedObjectModel_ = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return managedObjectModel_;
此代码在我的 APPdelegate 文件中.. 异常是
* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法创建 NSPersistentStoreCoordinator 与 nil 模型'
【问题讨论】:
您是否在您的 persistentStoreCoordinator 访问器中调用[self managedObjectModel]
?
如果你有两个数据模型,检查哪一个是活动的。
【参考方案1】:
正如错误所说,模型似乎为零,或者更确切地说是modelURL
。您可以通过添加NSLog(@"%@", modelURL)
看到这一点,它将打印(null)
。
确保您的模型确实被称为 TouristGuide
并且在 mainBundle
中,即在构建时添加。
【讨论】:
如果名称正确,请确保您的 .xcdatamodeld 文件已添加到 Compile Sources 列表中(在 Xcode 4 中,单击左侧的项目,选择您的目标,转到 Build Phases 并选中 Compile来源)。 +1 出于某种原因,模拟器并不总是删除整个应用程序包,有时会留下数据模型和其他文件的多个副本。重置模拟器可以解决问题。以上是关于核心数据模型抛出异常的主要内容,如果未能解决你的问题,请参考以下文章
异常抛出:实体数据模型对象实例化时 C# Windows 服务中的“System.IO.FileNotFoundException”
模型空异常 --> @if(Model.Count() > 0 )
Laravel 7 模型工厂为 faker 抛出“InvalidArgumentException: Unknown formatter”异常