Как сохранить состояние галочки аксессуара UITableViewCell в Swift 3

У меня есть табличное представление, и я бы хотел, чтобы пользователь выбрал только один элемент из табличного представления, а затем я хочу добавить галочку в ячейку. В то же время я также хочу, чтобы флажок на других ячейках исчез. Пользователь может выбрать только один за раз. Затем я хочу сохранить данные (желательно используя UserDefaults). Как я могу это сделать?

2 ответа

Решение

Создайте переменную класса типа IndexPath. В вашем методе cellForRowAt установите вспомогательный тип.checkmark только в том случае, если путь индекса соответствует переменной класса и.none в противном случае. В методе didSelectRowAt обновите indexPath выбранной переменной и просто перезагрузите представление таблицы

Вы должны использовать таким образом

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
    let sgp : UITableViewCell = tableView.cellForRow(at: indexPath)!
    sgp.accessoryType = .checkmark
}
Другие вопросы по тегам