带有核心数据删除错误的NSFetchedResultsController

时间:2018-07-14 03:18:52

标签: ios swift core-data nsfetchedresultscontroller

我有一个要放入表单元格的对象的核心数据集。但是,我还有另一组“间隔”单元格,它们位于每个表单元格之间。 因此,当我返回NumberOfRowsInIndexPath时,我将返回获取的结果数* 2。 但是,当我删除单元格时,出现此错误:

  

严重的应用程序错误。在调用-controllerDidChangeContent:期间,从NSFetchedResultsController的委托捕获了一个异常。更新无效:第0节中的行数无效。更新(15)之后,现有节中包含的行数必须等于更新(17)前该节中包含的行数,再加上或减去该数字从该部分插入或删除的行数(已插入0,已删除1),加上或减去移入或移出该部分的行数(移入0,移出0)。与userInfo(空)

有什么办法可以让XCode忽略此错误? 我在其他地方已经读到这是一个潜在的错误。 无论如何,我已经检查了我的NSFetchedResultsController委托,并且我确定代码是正确的。

1 个答案:

答案 0 :(得分:0)

通过使用这些间隔单元格使您的生活变得艰难,随着行的添加,删除和移动,保持这种同步非常复杂。

您应该通过在实际单元格的底部放置空白来重新设计UI,以不需要间隔单元格,或者,如果听起来不可行,也可以使用UICollectionView