我找到了一种方法,通过使用 delegate
方法以编程方式在tableView中选择一行,如本答案中建议的那样:
https://stackoverflow.com/a/40589905/3511695
现在我为每个tableView的单元格都有一个 .delete
editingStyle
选项:
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if (editingStyle == .delete) {
// code that's called when user presses delete button
}
我怎么能以编程方式调用这个 delete
函数?即模拟用户按 delete
按钮? (就像我能够以编程方式模拟按下tableView单元格一样)
我的 if (editingStyle == .delete) {}
中有 alertController
,我需要再次显示,这就是为什么我需要以编程方式模拟用户按下UI中的删除按钮而不是简单地删除行 .
1 回答
您正在寻找的不是
UITableViewDelegate
方法,而是UITableViewDataSource
方法 .这不是最好的解决方案,但如果您真的想这样做,请在TableView的
dataSource
上调用此方法,并将参数传递给TableView,将editStyle作为.delete
和某些IndexPath
现在你应该做什么:
您应该将
commit
数据源方法中if语句的代码放到新方法中,然后在此处调用此方法而不是调用
tableView.dataSource?...