如何从自定义单元格中删除 table 视图行?

How to delete table view row from custom cell?

我有一个带有两个按钮的自定义 table 视图单元格。如果按下其中任何一个,我希望 table 视图删除该行。我已经知道代码了:

myArray.removeAtIndex(indexPath.row)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)

我只想从我的自定义单元格中调用它。我是这样设置的:

@IBAction func handleDecline(sender: AnyObject)
{
    // Remove table view row 
}

@IBAction func handleApprove(sender: AnyObject)
{
    // Remove table view row
}

我该怎么做?

您不应处理从单元格本身删除单元格。它违反了 MVC 模式。事件应委托给视图控制器并使用 deleteRows 方法处理,如下所示:

tableView.deleteRows(at: [indexPath], with: .fade)

同时tableView的dataSource也必须相应更新,否则app会崩溃。

您可以找到一个示例,说明如何将事件从单元格委托给视图控制器