Как сохранить состояние галочки аксессуара 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
}