如何在 UITableView 中禁用滑动删除选项

How to disable swipe to delete option at UITableView

我有 2 个 UITableView (Table-1 & Table-2) 在同一个 UIViewController。我想在 Table-2.

中编辑功能

我在我的视图控制器中添加了表视图数据源方法,如下所述:-

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
        if editingStyle == .delete {

            tableView.beginUpdates()
            myArray.remove(at: indexPath.row)
            tableView.deleteRows(at: [indexPath], with: .fade)
            tableView.endUpdates()
        }
    } 

并且两个表视图都调用了这个方法。所以每个tableview单元格都可以打开删除选项。

但我只想要 Table-2 中的这个删除编辑选项。我想在 Table-1.

中限制删除编辑选项功能

请帮忙。提前致谢。

您可以使用 UITableViewDelegate 提供的这个功能:

func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
    return true
}

简单地实现一些逻辑来检查是否允许在给定 indexPath 处进行编辑,如果需要 editing/deleting 和 [=14],则给定 tableViewreturn true =] 如果你不这样做。

希望对您有所帮助!