我的UITableView
中有多个数据,当我删除一条记录时。
答案 0 :(得分:1)
不要使用didEndDisplayingCell
通过传递的索引路径来操作单元格或数据源数组。
只是通知 已从表中删除指定的单元格
documentation还声明:
使用此方法检测何时从表视图中删除单元格,而不是监视视图本身以查看它何时出现或消失。
解决方案是将此方法中的整个代码移动到删除单元格/数据源项目的位置,并在之前删除任何内容
答案 1 :(得分:-1)
该应用程序崩溃是因为即使您删除了该对象(因此数组现在将减少一个元素),但您尚未告诉表视图根据新数据源重置自身。如果删除最后一个元素,则即使cellforRowAt也会崩溃。一种解决方案是通过调用以下方法重新加载表视图:
<tableViewName>.reloadData()
,但是如果tableViews很大且很复杂,它将产生不必要的闪烁。第二件事,您不应该使用didEndDisplayingCell