核心数据错误:_Unwind_Resume从图像CoreData中的函数_PFFaultHandlerLookupRow调用
我从Core Date得到这个奇怪的错误,我不明白为什么。
下面的代码是在我删除一行UITableView时执行的。
我将一个string和一个对象传递给下面的方法,它将获取具有该string的数据库表中的文章,并具有该对象的外键。 然后我删除该对象并重新加载表。
- (void)deleteFavorite:(NSString *)链接inFolder :(collections夹*)f { NSFetchRequest * request = [[NSFetchRequest alloc] init]; NSEntityDescription * favsDescriptor = [NSEntityDescription entityForName:@“Favorites”inManagedObjectContext:context]; [request setEntity:favsDecriptor]; NSPredicate * predicate = [NSPredicate predicateWithFormat:@“(belongsTo ==%@)AND(link =%@)”,f,link]; [request setPredicate:predicate]; NSError * error = nil; NSMutableArray * fav = [[NSMutableArray alloc] init]; fav = [[context executeFetchRequest:request error:&error] retain]; if(![context save:&error]){ NSLog(@“无法从提取请求中获取故事”); } NSLog([[fav objectAtIndex:0] title]); 错误=无; [context deleteObject:[fav objectAtIndex:0]]; if(![context save:&error]){ NSLog(@“不能删除fav!%@”,错误); } }
该应用程序立即崩溃,我在控制台中得到这个消息。 但是当我之后启动应用程序时,该行已被删除。
检测到尝试在系统库中调用不存在于iPhone上的符号: _Unwind_Resume从图像CoreData中的函数_PFFaultHandlerLookupRow调用。
请帮忙!
在此先感谢大家!
这可能与核心数据本身的错误有关。 我有同样的错误出现(我在这里问了这个问题),我唯一的解决办法是更改谓词中仍然允许相同结果的关键字。 花了一些实验才find正确的组合。 不理想,但这是我可以根据我的经验提供的最佳答案。
是否可能持有对删除对象的引用,或者删除的对象是否是观察者,并且在删除对象后是否获得callback? 我最近有类似的东西,虽然稍有不同的错误信息。 就我而言,我也在删除(在某些情况下)的情况下崩溃,但是当我重新启动时,删除的对象实际上已被删除。
如果你还没有这样做,在运行菜单下select停止在Objective-C例外。 这帮助我追踪了我崩溃的根本原因。 在我的情况下是被删除的NSManagedObject的属性的值的变化callback的KVO观察员。