UITableView.setEditing()无法禁用编辑模式

时间:2018-02-12 02:55:29

标签: ios swift uitableview

我无法让UITableView退出编辑模式。这是我如何进入&退出编辑模式,请参阅下面的链接 -

进入编辑模式

DbgTableViewHandler.swift(126):

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        ...
        table.setEditing(true, animated: true);
        ...
    }

退出编辑模式

DbgTableView.swift(105):

    func removeCell(_ index : Int) {
        ...
        setEditing(false, animated: true);
        ...
    }

代码

问题

  • 如何让示例中的表格退出编辑模式?

1 个答案:

答案 0 :(得分:3)

删除单元格的方法是错误的,您应该使用deleteRows方式删除它,而不是从dataSource然后重新加载表中删除它,将其替换为下面的代码并且它将起作用

func removeCell(_ index : Int) {
    beginUpdates()
    myDbgCells.remove(at: index);
    let i = IndexPath(row: index, section: 0)
    deleteRows(at: [i], with: .automatic)
    endUpdates()

    //turn mode off (just cause, for demo's sake)
    setEditing(false, animated: true);

    print("DbgTableView.removeCell():       cell removed");

    return;
}

此外,对于这样一个简单的屏幕,您的项目过于复杂,请记住更多代码=更难调试