如何在 swift 中按下后立即获取所选单元格的 IndexPath

How to get the IndexPath of a selected cell as soon as it is pressed in swift

我一直在尝试获取当前选定行的索引路径。我一直在使用这个功能:

    override func tableView(_ tableView: UITableView, didDeselectRowAt indexPathForSelection: IndexPath) {
            print(SavedColors.SavedColorsList[indexPathForSelection.row].Name)
    }

问题是它给了我刚刚取消选择的单元格的索引路径。如果我按下第一个单元格,什么也不会发生。如果我然后按第二个单元格,它会打印“0”第一个单元格的 indexPath,依此类推。我想在按下单元格后立即获取索引路径。我该怎么做?

Said another way: the function is called when the selection is switched to another cell, but not when a cell is selected.我希望用户点击并激活功能。相反,当您点击时,什么也不会发生,直到您点击另一个不同的单元格。我该如何解决这个问题?

我不知道这是否相关,但是 self.tableView.deselectSelectedRow(animated: true) 函数也没有做任何事情...

谢谢

抱歉,我不太明白你的问题

如果你真的只想在点击某个单元格时获取 indexPath,你可以遵循

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)

您需要使用 didSelect 而不是 deSelect

 override func tableView(_ tableView: UITableView, didSelectRowAt indexPathForSelection: IndexPath) {
            print(SavedColors.SavedColorsList[indexPathForSelection.row].Name)
    }

.

DidSelect 在您 select 一个单元格时调用,而 deSelect 在您取消 select 一个单元格时调用...所以在编写这些函数时要小心快乐编码 =)