'NSInternalInconsistencyException',原因:'+ entityForName:无法找到实体名称的NSManagedObjectModel

时间:2010-11-23 04:42:16

标签: core-data tabbar nsmanagedobjectcontext viewcontroller navigationcontroller

我有一个基于窗口的应用程序,其中集成了标签栏和导航栏。在导航栏上有一个自定义按钮,用于打开表格视图。

单击表格的单元格时,我想打开一个新的表格视图控制器。但是当我点击第一个表格的单元格时,我得到一个例外

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+entityForName: could not locate an NSManagedObjectModel for entity name 'AddForm''

我已检查过AddForm是否正确。

我已经尝试了上面和其他线程给出的所有解决方案,但仍然卡住了。我希望有人可以帮助我。

流程是这样的

ListButton(点击打开列表视图) - >表格视图打开 - > (单击一个单元格应该打开一个新的表视图控制器并从核心数据中获取数据)

我的根视图控制器代码在第二个表视图控制器文件中...是我做错了什么?我这样做是因为我之前不需要核心数据....

请帮忙

提前致谢

2 个答案:

答案 0 :(得分:5)

如果创建了managedObjectContext,我以前首先检查你的AppDelegate.m类是否有同样的问题

如果创建它,请检查它是否作为参数传递 像这样的东西

 MasterViewController *controller = (MasterViewController *)masterNavigationController.topViewController;
    controller.managedObjectContext = self.managedObjectContext;

如果这对您的主视图是正确的,请确保您通过您的视图传递此类

self.detailViewController.managedObjectContext = self.managedObjectContext;

至少那对我有用=)

答案 1 :(得分:1)

此问题的最常见原因是拼写错误的实体名称或错误的大小写。检查代码和数据模型编辑器中AddForm的拼写是否完全相同。