首先,如果我用一次滑动删除行,它工作正常。不幸的是,每当我只是玩它而不删除它就会崩溃。这就是我删除行的方式:
override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
viewModel.deleteFromHistory(indexPath: indexPath, completion: {
self.viewModel.history.remove(at: indexPath.item)
self.tableView.deleteRows(at: [indexPath], with: .fade)
})
}
}
崩溃信息:
由于未捕获的异常而终止应用 'NSInternalInconsistencyException',原因:'索引没有出现 path(null)'
答案 0 :(得分:0)
错误包含一些提示,我认为:)在调用代码之前删除历史记录中的数据和表中的单元格必须确保indexpath不是nil。
尝试检查它,我希望它会有所帮助。
答案 1 :(得分:0)
您正在完成块中使用indexPath。因此,完成块和方法deleteFromHistory
的参数中的indexPath可能不相同。