【发布时间】:2012-03-01 12:15:19
【问题描述】:
自从我连接核心数据堆栈并迁移数据库后,我在一个使用核心数据的项目中进展顺利,昨晚我开始在托管对象模型上遇到错误。
我知道它正在做的是试图在这一行中建立一个托管对象上下文
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;
}
当我在应用程序委托中设置断点时,它在应用程序崩溃之前永远不会到达那里。它首先进入视图控制器。
奇怪的是,自从我的核心数据功能完成并开始工作后,我已经有大约 6 周没有更改它了。
任何想法我可能会做什么?
这开始发生在我为 NSSwitch 添加 NSUSerdefaults 以切换是否显示进入屏幕的选项时。
更新:该应用程序在仅在 iPhone 版本中提到的点崩溃,并且在 iPad 中很好地解决了托管对象问题。 .xib 文件中的哪些内容会有所不同,从而导致managedObjectContext 处的流程出错?
【问题讨论】:
标签: iphone ios ipad core-data nsmanagedobjectcontext