我的选择器没有调用 swift 中的函数。在 iOS、swift 中以编程方式删除 uitableViewCell 5

My selector is not calling the function in swift. Deleting tableViewCell programatically in iOS, swift 5

我有一个方法可以删除表视图中的一行:

@objc func didTapDelete(_ sender: UIButton) {
    let point = sender.convert(CGPoint.zero, to: tableView)
    guard let indexPath = tableView.indexPathForRow(at: point) else {
        return
    }
    prescriptions.remove(at: indexPath.row)
    tableView.beginUpdates()
    tableView.deleteRows(at: [IndexPath(row: indexPath.row, section: 0)], with: .left)
    tableView.endUpdates()
}

在我的 cellForRowAt 中,我正在调用我在 Customcell

中声明的 button.addTarget
        cell.deleteButton.addTarget(self, action: #selector(didTapDelete(_:)), for: .touchUpInside)

这是 customCell 中的 Button

    let deleteButton: UIButton = {
    let variable = UIButton()
    variable.setTitle("Delete_Button".localized, for: .normal)
    variable.setTitleColor(Colors.red, for: .normal)
    variable.titleLabel?.font = UIFont.boldSystemFont(ofSize: Metrics.Spacing.medium)
    variable.translatesAutoresizingMaskIntoConstraints = false
    return variable
}()

该方法在 viewController 中的视图中,但是当我单击按钮时,即使调试器停止在 selector.addTarget 调用处,也不会调用我的 didTapDelete 方法。

我正在使用 swift 5,viewCode。

picture of the screen

我设法解决了

cell.contentView.isUserInteractionEnabled = false

问题是因为点击它识别单元格点击 select,而不是按钮。