应用程序在executeFetchRequest上崩溃

时间:2011-12-21 19:10:55

标签: core-data crash nsfetchrequest

我不知道发生了什么,但它突然在Visibility.m Entity类的下一行崩溃了。我没有改变这些类的任何东西,它曾经完美地工作。唯一的问题是我错误地删除了模型。我已将其从备份中恢复并再次添加到项目中。

vis = [[context executeFetchRequest:request error:&error] lastObject];

这是它周围的几行

NSFetchRequest *request = [[NSFetchRequest alloc] init];
    request.entity = [NSEntityDescription entityForName:@"Visibility" inManagedObjectContext:context];
request.predicate = [NSPredicate predicateWithFormat:@"visID = %@",[tmpDict objectForKey:@"visiID"]];

NSError *error = nil;
vis = [[context executeFetchRequest:request error:&error] lastObject];

如果失败,它不会在控制台中显示任何错误或任何其他提示。它跳到主

中的这一行
int retVal = UIApplicationMain(argc, argv, nil, nil);

这就是......

关于如何改进调试的任何提示等等?我也尝试在模拟器中删除该应用程序,但也没有进行锻炼。

AAH最后我收到了一条错误消息

Catchpoint 6 (exception thrown).2011-12-22 07:39:08.665 CaveConditions[14452:5b07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath visID not found in entity <NSSQLEntity Visibility id=9>'
*** First throw call stack:
(0x3446a8bf 0x346ba1e5 0x32f6d103 0x32f6cddf 0x32f6ca39 0x32f6c0fb 0x32f6bb93 0x32f6b031 0x32f697f5 0x6b13 0x62a1 0x107d1 0x4293 0x343c9803 0x53b99 0x541b1 0x343c922b 0x4df85 0x35dc0a91 0x35e545a1 0x33210c1d 0x33210ad8)
terminate called throwing an exception[Switching to process 7171 thread 0x1c03]
[Switching to process 7171 thread 0x1c03]

但关键路径是......我认为存在一些腐败......我该如何解决这个问题呢?

1 个答案:

答案 0 :(得分:2)

我的模型中缺少

visID。看起来我从备份中获取了旧版本