Table 按下行时未调用视图委托方法 (didSelectRowAt)

Table View Delegate method (didSelectRowAt) not called when row pressed

我正在尝试在用户按下 table 视图上的特定单元格/行时执行 segue。我已经实现了委托协议

extension myVC : UITableViewDelegate

这是我的 didSelectRow 函数

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
   performSegue(withIdentifier: "searchToOtherUser", sender: self)
}

前一个函数中还做了一些额外的事情,但是当我在函数中放置一个断点时,我可以看到应用程序永远不会进入这个函数。

我看到了前面提到的关于这个主题的一些答案(没有使用用户手势,并且启用了用户与 table 视图的交互)。

有人知道我该如何解决这个问题吗?

非常感谢 安东尼

如果内容正在加载并且 selection 已启用,则需要检查的是:

  • 1) 在 swift
  • 中以编程方式设置委托
  • 2)(可选)将表格视图 delegate 设置为 File's Owner,以防您在 Storyboard 中向 UIViewController 添加表格视图而不是创建 [=15] =](它会自动为您完成)。

检查 1 - 以编程方式设置委托

override func viewDidLoad() {
    super.viewDidLoad()

    tableView.delegate = self
    ...
}

勾选2(只针对Storyboard中添加到UIViewController的TableView)

在通过 Interface Builder 的 Storyboard 中,您还应该 link tableview 的 delegateFile's Owner:

**检查 2 - 步骤 A)**

可能不是在左侧栏中明确说明 File's Owner,而是您可能必须这样做:

检查 2 - 备选步骤 A)

然后 select delegate 像这样:

检查 2 - 步骤 B)