На раскадровке я помещаю существующий 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
связано с проблемой, но я не могу точно понять, что это за проблема.
Кто-нибудь знает, почему это может происходить?