NSInternalInconsistencyException修复

时间:2017-08-07 03:19:38

标签: ios swift

更新方法:

override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
    if editingStyle == .delete {
        initialData[indexPath.section].remove(at: indexPath.row)

        tableView.deleteRows(at: [indexPath], with: .fade)

    } else {

    }
}

错误:

  

原因:'无效更新:第0部分中的行数无效   更新后现有部分中包含的行数(2)   必须等于之前该部分中包含的行数   更新(2),加上或减去插入或删除的行数   从该部分(0插入,1删除)和加号或减号   移入或移出该部分的行(0移入,0移出)。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

请仔细阅读您的控制台告诉您的内容。

您的数据源抱怨说,在您使用removeAtIndexPaths()删除行后,它没有预期的行数。

确保在删除/添加的内容中保持完整性,并且数据源也会相应更改。另外,请确保在主队列上进行这些更改。

祝你好运! :)