我不知道发生了什么,但是它突然在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]
但是关键路径在那里...我认为这里存在一些腐败...我该如何解决呢?
最佳答案
我的模型中缺少visID。看来我从备份中取了旧版本