Objective c 严重的应用程序错误。模型对象获取NSFetchedResultsController消息

Objective c 严重的应用程序错误。模型对象获取NSFetchedResultsController消息,objective-c,core-data,nsfetchedresultscontroller,Objective C,Core Data,Nsfetchedresultscontroller,我对核心数据有一个非常奇怪的错误。我有一个配方类,它与配料类有多对多的关系 当我尝试在RecipeView控制器上向配方添加配料时,在保存上下文之前,一切正常。这就是事情变得非常糟糕的时候 我的Recipes TableViewController出现错误,该控制器具有NSFetchedResultsController并实现了NSFetchedResultsController委托。 方法被调用,然后我得到一个异常: CoreData:错误:严重的应用程序错误。异常被捕获 在核心数据更改处理期

我对核心数据有一个非常奇怪的错误。我有一个配方类,它与配料类有多对多的关系

当我尝试在RecipeView控制器上向配方添加配料时,在保存上下文之前,一切正常。这就是事情变得非常糟糕的时候

我的Recipes TableViewController出现错误,该控制器具有NSFetchedResultsController并实现了NSFetchedResultsController委托。

方法被调用,然后我得到一个异常:

CoreData:错误:严重的应用程序错误。异常被捕获 在核心数据更改处理期间。这通常是一个内部错误 NSManagedObjectContextObjectsIDChangeNotification的观察者。 -[KCgingCredit sectionOffset]:发送到实例0x7bf83d50且用户信息为空的无法识别的选择器

我不知道这个sectionOffset消息是什么,在文档中找不到它。这发生在NSFetchResultsController获取_postprocessInsertedObjects:消息之后

我假设这个sectionOffset消息是要发送给NSFetchedResultsController的一个实例,但我不知道它最终是如何发送到模型对象的

编辑:

实际上,我检查了它,显然sectionOffset不是NSFetchedResultsController的方法

这项测试失败得很惨:

XCTAssertTrue([NSFetchedResultsController instancesRespondToSelector:@selector(sectionOffset)]);

到底发生了什么事?我已经尝试了所有的方法,如果你能给我一些启示,我会非常感激。

这种错误通常表明一个对象已经被释放,不同类别的对象恰好被创建在它的位置上。调试的一种方法是打开僵尸。如果你搜索这个短语,你会发现各种各样的问题和答案,它们可能会帮助你确定问题。sectionOffset是KCgingCredit上的一种方法吗?@TomHarrington绝对不是。这就是我得到无法识别的选择器异常的原因。我为SectionOffset实现了一个存根,只是为了看看会发生什么,但我刚刚收到另一个KCgingRedient也不理解的方法。@pbasdf Zombies也没有帮助。我只是在NSFetchResultsController获取_postprocessInsertedObjects后立即得到错误:您能在设置FRC的地方发布代码及其委托方法吗?谢谢
XCTAssertTrue([NSFetchedResultsController instancesRespondToSelector:@selector(sectionOffset)]);