我正在使用一个由NSFetchedResultsController填充的表格视图。该表显示列表。列表实体与任务具有一对多关系。然后是一个音符实体,它与任务具有一对一的关系。介绍了笔记实体和与任务的关系之后,我得到了这个断言错误
错误:严重的应用程序错误。在核心数据更改处理期间捕获到异常。这通常是NSManagedObjectContextObjectsDidChangeNotification的观察者内部的错误。更新无效:第0节中的行数无效。更新(1)之后,现有节中包含的行数必须等于更新(3)前该节中包含的行数,再加上或减去该数字从该部分插入或删除的行数(已插入0,已删除1),加上或减去移入或移出该部分的行数(移入0,移出0)。与userInfo(空) CoreData:错误:严重的应用程序错误。在核心数据更改处理期间捕获到异常。这通常是NSManagedObjectContextObjectsDidChangeNotification的观察者内部的错误。更新无效:第0节中的行数无效。更新(1)之后,现有节中包含的行数必须等于更新(3)前该节中包含的行数,再加上或减去该数字从该部分插入或删除的行数(已插入0,已删除1),加上或减去移入或移出该部分的行数(移入0,移出0)。与userInfo(空) 2018-09-02 12:41:37.856931 + 0500 List24 [26505:860491] *由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无效的更新:第0节中的行数无效。行数更新(1)之后在现有节中包含的行数必须等于更新(3)之前在该节中包含的行数,加上或减去从该节插入或删除的行数(已插入0,已删除1)加上或减去移入或移出该部分的行数(移入0,移出0)。” * 首先抛出调用堆栈:
此错误从未发生过。但是,这确实很少。发生了两次,但我不知道是什么原因引起的。
注释与任务具有一对一关系。并且删除是在列表和任务之间级联的。因此,如果我删除列表,它应该删除任务,也应该删除注释。
任何建议或技巧,我都可以尝试一劳永逸地修复。谢谢!
答案 0 :(得分:0)
无效更新:第0部分中的无效行数。
更新(1)之后现有节中包含的行数必须等于更新(3)之前该节中包含的行数,加上或减去从该节中插入或删除的行数(已插入0个,删除了1个),再加上或减去移入或移出该部分的行数(移入0,移出0)。
UITableView
(我认为是iOS)似乎是一项要求,如果您使用.beginUpdates()
和.endUpdates()
,则应该致电tableView.deletedRows(..)
&co以后正确的时间与您从numberOfRows(..)
返回的时间相对应。