У меня есть заданное количество ячеек в разделе. Моя цель - иметь только последнюю выбранную ячейку для отображения галочки. Другие ячейки не должны.
Я нашел функцию в это аналогичная, но более старая тема. Я немного изменил его (и, держу пари, здесь кроется проблема) из-за изменений в Swift 3.0.
Как написано ниже, у меня функция работает некорректно. Только последняя ячейка (не последняя выбранная, а последняя в разделе) в разделе когда-либо получит галочку. Но не могу понять, почему нет.
Вот полная функция:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let section = indexPath.section
let numberOfRows = tableView.numberOfRows(inSection: section)
for row in 0..<numberOfRows {
if let cell = tableView.cellForRow(at: indexPath) {
cell.accessoryType = row == indexPath.row ? .checkmark : .none
}
}
}
Распечатав значения, я могу увидеть, когда это утверждение ниже оценивается как истинное, и это имеет смысл. Но галочка не переключается.
cell.accessoryType = row == indexPath.row ? .checkmark : .none
Благодарю вас!