+ entityForName:无法找到实体名称的NSManagedObjectModel

时间:2012-03-01 12:15:19

标签: iphone ios ipad core-data nsmanagedobjectcontext

由于我连接了核心数据堆栈并迁移了数据库并且昨晚刚刚开始在托管对象模型上出现错误,我现在正忙着使用几个月使用核心数据的项目。

我知道它正在做的是尝试在这一行中建立一个托管对象上下文

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Question" inManagedObjectContext:managedObjectContext];
    [fetchRequest setEntity:entity];

当程序试图获取Question实体时,程序在第一个视图控制器中崩溃。我宣布/创建AppDelegate

- (NSManagedObjectModel *)managedObjectModel {

    if (managedObjectModel != nil) {
       return managedObjectModel;
    }

    NSString *path = [[NSBundle mainBundle] pathForResource:@"PSQ" ofType:@"momd"];
    NSURL *momURL = [NSURL fileURLWithPath:path];
    managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:momURL];

    //managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];    

    return managedObjectModel;
}

当我在app委托中设置断点时,它永远不会在应用程序崩溃之前到达那里。它首先进入视图控制器。

奇怪的是,自完成和工作以来,我没有将核心数据功能改变大约6周。

我可能在做什么?

这是在我为NSSwitch添加NSUSerdefaults以切换选项以显示屏幕时开始发生的。

更新:该应用程序在iPhone版本中提到的点崩溃,并在iPad中完成托管对象问题。 .xib文件中的内容会有什么不同,导致managedObjectContext处的流错误?

1 个答案:

答案 0 :(得分:1)

好的修好了。

原来,应用代表以某种方式在我的iphone笔尖中重新连线。我猜这就是Xcode试图告诉我什么时候它会在托管对象上下文的app委托之前启动mainViewController。

我将课程设置回UIApplication,然后将代表连接到IB中的app委托,一切都很顺利。