[英]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)
}
在前一个函数中还有一些额外的东西,但是当我在函数中放置一个断点时,我可以看到应用程序永远不会进入这个函数。
我已经看到了之前在这个主题上提到的一些答案(没有使用用户手势,并且启用了用户与表视图的交互)。
有没有人知道我如何解决这个问题?
非常感谢安东尼
如果正在加载内容并且启用了选择,则要检查的内容是:
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.