通过触摸该单元格内的按钮来删除 UITableViewCell



我正在动态地将自定义单元格添加到UITableView,我希望每个单元格都有一个按钮,可以从数据结构中删除该单元格并重新加载视图。

didSelectRowAt indexPath可以使用indexPath.sectionindexPath.row从我的数据结构中删除元素,然后重新加载表,但是如何在触摸单元格内的按钮时执行此操作?

有人建议将逻辑移动到按钮的touchUpInside,但是我该怎么做呢?我如何接收按下按钮的单元格的部分和行,以了解要从数据结构中删除哪个元素?

您可以将 indexPath 变量存储在自定义单元格对象中,并在控制器上调用函数。您需要在函数cellForRow(at:)设置索引路径和委托。

protocol CellButtonProtocol: class {
    func cellButtonClicked(indexPath: IndexPath?)
}
class CustomCell: UITableViewCell {
    weak var delegate: CellButtonProtocol?
    var indexPath: IndexPath?
    func buttonClick() {
        delegate?.cellButtonClicked(indexPath: indexPath)
    }
}

最新更新