繁体   English   中英

按下行时不调用表视图委托方法 (didSelectRowAt)

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

当用户按下表视图上的某个单元格/行时,我试图执行 segue。 我已经实现了委托协议

extension myVC : UITableViewDelegate

这是我的 didSelectRow 函数

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

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

我已经看到了之前在这个主题上提到的一些答案(没有使用用户手势,并且启用了用户与表视图的交互)。

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

非常感谢安东尼

如果正在加载内容并且启用了选择,则要检查的内容是:

  • 1)在swift中以编程方式设置委托
  • 2)(可选)将 tableview delegate设置为File's Owner ,以防您在Storyboard中将 tableview 添加到UIViewController而不是创建UITableViewController (它会自动为您执行此操作)。

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

override func viewDidLoad() {
    super.viewDidLoad()

    tableView.delegate = self
    ...
}

检查 2(仅适用于在 Storyboard 中添加到 UIViewController 的 TableView)

在通过Interface Builder的 Storyboard 中,您还应该将 tableview 的delegate链接到File's Owner

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

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

检查 2 - 替代步骤 A)

然后像这样选择delegate

检查 2 - 步骤 B)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM