问题描述
使用以下代码:
override func tableView(_ tableView: UITableView,canEditRowAt indexPath: IndexPath) -> Bool {
switch viewControllerCanEdit {
case .viewControllerThatCanNotEdit:
return false
default:
tableView.cellForRow(at: indexPath)?.reuseIdentifier == "CellThatAllowsEditing" else { return false }
return true
}
}
我收到以下断言错误:
[Assert]试图在表视图上调用-cellForRowAtIndexPath: 它正在更新其可见单元的过程中 不允许。在以下位置建立符号断点 UITableViewAlertForCellForRowAtIndexPathAccessDuringUpdate来捕获 在调试器中查看此内容,并查看导致此情况发生的原因。也许你 正在尝试从表视图中向表视图询问单元格 关于特定行的回调?表格视图:
; 层= ; contentOffset:{0,-100}; contentSize:{414,2765.3333333333335}; AdjustedContentInset:{100,0, 83,0}; dataSource: >
我缩小了范围。可能是此错误是由于tableView在更新数据的过程中调用canEditRowAt()
导致的。因此,与tableView.cellForRow(at:)
匹配的调用尚不存在。
我的问题是;如果tableView正在更新,是否有一种方法可以突破该功能?或者,如果有一种更好的尝试匹配的方法,是否可以根据单元格的类型来编辑该单元格?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)