未调用 UITableView didSelectRow

UITableView didSelectRow not called

在一个 iOS 应用程序中,我有一个 ViewController,它有一个 ContainerView,其中有一个 ViewController(比如 VC2),使用 Embed Segue。此 VC2 拥有一个 UITableView,它的数据源和委托设置为 VC2,并且还符合 UITableViewDataSource 和 UITableViewDelegate 协议。 现在单元格被完美呈现,所以数据源看起来不错。但是当我尝试连续 select 时,没有任何反应,所以委托似乎有问题。 但是,委托方法 willDisplayCellshouldHightlightRowAt 确实会被调用。而且我只实现了这些方法来检查委托是否设置正确。不,我 NOT 实现了 didDeselectRowAt 方法,这是一个常见的错误。

在 IB 中,tableview 拥有两个动态原型单元格,Selection 属性 设置为 Single Selection样式 设置为普通。 UITableViewCells 的 Style 设置为 Custom 并且 Selection 设置为 Default .

为什么不调用 didSelectRowAt 方法?我确实检查了 isEditing 属性,它被设置为 false;编辑与我的情况无关。

这是我的 didSelect 方法:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    print("didSelectRowAt (indexPath.row)") 
}

我用Swift4.

对不起,Xcode 似乎让我很为难。 我刚刚从情节提要中删除了 ViewController 并再次从头开始构建它。还为 VC 创建了一个新文件,现在一切正常。有时,要走的路是删除所有工作并重新开始,在这种特殊情况下......它是。

我真的说不出是什么原因;但似乎故事板文件中的某些东西搞砸了。至少,这是我最好的猜测。

浪费了一些时间...无论如何感谢您的参与...