У меня есть определенное количество ячеек в разделе. Моя цель - показать только последнюю выбранную ячейку, чтобы отобразить галочку. Другие ячейки не должны.Swift: включение галочки в ON только для последней выбранной ячейки - не работает
Я нашел функцию в this похожие, но старые. Я изменил его (и, я уверен, здесь проблема) немного из-за изменений в 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
Спасибо!
Ocunidee благодарит за попытку. Я даже не близка к тому, где вы находитесь. На данный момент я до сих пор не совсем понимаю, как основываются таблицы. Прямо сейчас мне просто очень интересно, почему код, который я написал, не делает то, что я думаю. – user1269290
О, верно, я неправильно понял, о чем вы просили. В какой момент вы хотите выбрать только одну ячейку (отметьте галочкой)? Вы должны сообщить своему табло, что вы не разрешаете несколько вариантов: – Ocunidee
См. Мои изменения выше – Ocunidee