删除UITableView部分中的所有内容后结束编辑

时间:2018-09-10 20:04:33

标签: ios swift uitableview tableview

我的项目包含一个表格视图。该表视图包括2个部分。第一部分包含一个不可编辑的单元格。第二部分由称为数据的数组填充。

有一个按钮可以启动编辑模式,并允许用户从第二部分中删除内容。

我正在尝试在第二部分为空时结束编辑模式,以便我可以在第一部分中选择单元格。(出于审美目的)

我的代码如下(简化的,不是实际的代码):

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
    data.remove(at: indexPath.row)
    tableView.deleteRows(at: [indexPath], with: .fade)
    if(data.count==0) {
        self.tableView.setEditing(false, animated: true)
        self.tableView.selectRow(at: IndexPath(row: 0, section: 0), animated: false, scrollPosition: .top)
    }

这会导致各种奇怪的错误。根据文档,预期:

  

您不应在此方法的实现内调用setEditing:animated:。如果由于某些原因必须在延迟后通过使用performSelector:withObject:afterDelay:方法来调用它。

它可以工作,但是我觉得这将是一个棘手的解决方案。对我来说不清楚,为什么删除所有内容后我不应该结束编辑。有人可以解释吗?也许还有其他选择?

0 个答案:

没有答案