在Swift 3中,可以通过使用闭包来引用UITableViewRowAction中的行索引。具体步骤如下:
tableView(_:editActionsForRowAt:)
方法中创建UITableViewRowAction对象,并为其指定标题和样式。[weak self]
来避免循环引用,并使用indexPath.row
来获取行索引。下面是一个示例代码:
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
let deleteAction = UITableViewRowAction(style: .destructive, title: "删除") { [weak self] (action, indexPath) in
guard let self = self else { return }
// 使用indexPath.row来获取行索引
let row = indexPath.row
// 在这里执行删除操作
self.deleteItem(at: row)
}
return [deleteAction]
}
func deleteItem(at index: Int) {
// 执行删除操作的代码
}
在上面的示例中,我们创建了一个名为deleteAction
的UITableViewRowAction对象,并为其指定了标题为"删除"和样式为.destructive。在闭包中,我们使用[weak self]
来避免循环引用,并使用indexPath.row
来获取行索引。然后,我们可以在闭包中调用deleteItem(at:)
方法来执行删除操作,传入获取的行索引作为参数。
这是一个简单的示例,你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云