在情节提要上,我将现有的UITableViewController
放在UIContainerView
中的UIViewController
中。 UIViewController
的工作只是通过在两个容器视图之间切换来管理屏幕的不同状态:
在进行这些更改之前,UITableViewController
可以正常工作。现在,当您点击表格中的单元格时,将不会发生任何事情。它应该(以前会)隔离到另一个新的视图控制器。代码很漂亮:
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return notifs.modelData.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "notificationsTableViewCell", for: indexPath) as! NotificationsTableViewCell
cell.tag = indexPath.row
cell.updateCellProperties(notification: notifs.modelData[indexPath.row],
indexPathRow: indexPath.row)
return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
guard let notificationId = notifs.modelData[indexPath.row].id else { //not the pubId
return
}
performSegue(withIdentifier: showPublicationSegueIdentifier, sender: notificationId)
}
我已经检查并尝试了几件事:
didSelectRowAtIndexPath
中设置了一个断点,称从不被调用UITableViewController
实际上是UITableViewController
UITableViewController
是表视图的委托和数据源在我看来,UIContainerView
中的人很可能与问题有关,但我无法确切找出问题所在。
有人知道为什么会这样吗?