UITableView didSelectRow不被调用

时间:2018-06-27 08:37:25

标签: ios swift uitableview didselectrowatindexpath

在一个iOS应用中,我有一个ViewController,其中有一个ContainerView,其中使用一个Embed Segue放置了一个ViewController(例如VC2)。此VC2拥有一个UITableView,并且其数据源和委托均设置为VC2,并且还符合UITableViewDataSource和UITableViewDelegate协议。 现在,单元已完美呈现,因此dataSource看起来不错。但是当我尝试选择一行时,什么也没有发生,因此委托似乎有问题。 但是,会调用委托方法 willDisplayCell shouldHightlightRowAt 。而且我只实现了这些方法来检查委托是否正确设置。不,我没有实现didDeselectRowAt方法,这是一个常见错误。

在IB中,表格视图拥有两个动态原型单元,选择属性设置为单选样式设置为简单。这两个UITableViewCell的样式都设置为自定义,并且选择设置为默认

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

这是我的didSelect方法:

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

我使用Swift 4。

1 个答案:

答案 0 :(得分:0)

对不起,但是Xcode似乎给了我一个非常艰难的时期。 我只是从情节提要中删除了ViewController,然后再次从头开始构建它。还为VC创建了一个新文件,现在一切正常。有时候,要走的路是删除所有工作,然后重新开始,在这种情况下……是的。

我真的不能说是什么原因。但似乎在情节提要文件中有些混乱。至少,这是我最好的猜测。

浪费了一些时间...感谢您的参与...

相关问题