Swift 区分点击UITableView和以编程方式选择?

Swift 区分点击UITableView和以编程方式选择?,swift,uitableview,Swift,Uitableview,我希望根据用户是点击UITableView单元格还是以编程方式选择它来调用不同的方法。然而,我似乎无法将它们分开;编程的一个运行DIDSelectRowatIndeXPath中的所有内容。有没有办法更独立地使用这些工具 以下是我的编程代码: func selectTableViewRowProgrammatically() { let indexPath = IndexPath(row: someVar, section: 0); self.tableView.selectRo

我希望根据用户是点击UITableView单元格还是以编程方式选择它来调用不同的方法。然而,我似乎无法将它们分开;编程的一个运行DIDSelectRowatIndeXPath中的所有内容。有没有办法更独立地使用这些工具

以下是我的编程代码:

func selectTableViewRowProgrammatically() {

    let indexPath = IndexPath(row: someVar, section: 0);
    self.tableView.selectRow(at: indexPath, animated: false, scrollPosition: UITableView.ScrollPosition.none)
    self.tableView(self.tableView, didSelectRowAt: indexPath)

}

谢谢

手动选择表格单元格与编程调用表格单元格时,您希望应用程序做什么

当前,您的编程方式调用的方法与您点击单元格时调用的方法相同,即
tableView(uu2;:didSelectRowAt:)

因此,如果您想进行任何其他计算,只需在调用
self.tableView(self.tableView,didSelectRowAt:indexPath)之前或之后,以编程方式将其添加到
selecttableviewRow
方法中即可

要以编程方式突出显示单元格,可以调用

注意文档中的
讨论
部分:

调用此方法不会导致委托收到 tableView(:willSelectRowAt:)或tableView(:didSelectRowAt:)消息, 它也不会向发送selectionDidChangeNotification通知 观察员


不确定您的目标是什么,但请查看
func setSelected()
这是一个伟大的想法;谢谢不幸的是,我无法组织我的工作流程使其完全工作。我需要在点击时运行的一些东西是我希望在通过UIButton高级时不运行的东西。实现预期结果的另一种方法是通过编程方式“突出显示”行(无论它们是否被选中),但是我还没有找到适合我的文档。如果我理解正确,我不能100%确定。那么您想以编程方式突出显示单元格?你试过了吗。请注意文档中的
讨论部分:
调用此方法不会导致代理收到tableView(u:willSelectRowAt:)或tableView(:didSelectRowAt:)消息,也不会向观察员发送selectionDidChangeNotification通知。
谢谢!!我已经寻找这个解决方案好几天了。我不知道如果不在其中包含“tableView(tableView,didSelectRowAt:indexPath)”,就可以调用selectRow。一旦我删除了它,我就获得了突出显示的能力,我可以利用它来解决我的问题。如果你移动它,我很乐意将此评论标记为答案。