Как отмечать ячейки и EditingStyle в tableView?

xcode

#1

Не подскажете, не могу найти, как реализовать такой механизм: при нажатии на edit button в правом верхнем углу выползают круги у ячеек для отметки

Ссылки на статьи приветствуются)


#2
  1. Написать/найти контрол чекбокса
  2. Запихнуть в ячейку
  3. Создать в ячейке флаг, при смене которого будет скрываться/показываться чекбокс.
  4. Привязать к кнопке Edit экшн, по которому будет меняться этот флаг

#3
navigationItem.leftBarButtonItem = editButtonItem
override func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
    return UITableViewCellEditingStyle(rawValue: 3)!
}

#4

Если для какой то определенной ячейки то так:

override func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
        if case (0..<2) = indexPath.row {
            return .none
        } else {
            return UITableViewCellEditingStyle(rawValue: 3)!
        }
    }

#5

Спасибо @haymob большое! Это именно то, что мне нужно! Хотел бы еще у вас спросить. Есть ли у ячеек булево свойство, показывающее, отмечена ячейка или нет? Нужно ли мне создавать отдельный логический массив , чтобы туда заносить данные, какие ячейки выделены, или это можно узнать , обратившись прямо к ячейке и без лишнего кода?


#6
tableView.indexPathsForSelectedRows

#7

А вы можете в кастомном классе вашей ячейки создать булевое свойство isSelected.