Вы можете скрыть ячейку , просто удалив все ячейки раздела.Например, я добавляю кнопку в моем представлении заголовка, которая запускает эту функцию, которая удалит все ячейки текущего раздела:
func toggleView() {
// SHOW
if toggleStatut == false {
toggleStatut = true
// Get indexPath of my element in my second section
var indexPaths = self.tableView.indexPathsForVisibleRows
indexPaths = indexPaths?.filter({ (indexPath) -> Bool in
return indexPath.section == 1
})
self.tableView.beginUpdates()
self.tableView.deleteRows(at: indexPaths ?? [], with: .fade)
self.tableView.endUpdates()
}
// HIDE
else {
toggleStatut = false
let indexPaths = (0..<elements.count).map { IndexPath(row: $0, section: 1) }
self.tableView.beginUpdates()
self.tableView.insertRows(at: indexPaths , with: .fade)
self.tableView.endUpdates()
}
}
Так что нет необходимости использовать метод didSelect
.Вместо этого вы можете добавить протокол, который будет реализован в вашем заголовке для вызова вышеуказанной функции