Как редактировать содержимое ячейки таблицы в Swift 5?

В iOS-разработке, для редактирования содержимого ячейки таблицы в Swift 5, необходимо использовать протокол UITableViewDelegate и метод tableView(_:editActionsForRowAt:), tableView(_:commit:forRowAt:) из протокола UITableViewDataSource.

Для начала, создайте свой собственный класс, подкласс UITableViewCell, который представляет вашу ячейку таблицы. Далее, добавьте необходимые элементы интерфейса, такие как метки, кнопки, изображения и т. д., к вашей ячейке.

Затем, в вашем классе, подписанном на протокол UITableViewDelegate, добавьте следующий метод:

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
    let editAction = UITableViewRowAction(style: .normal, title: "Редактировать") { (action, indexPath) in
        // Ваш код для редактирования содержимого ячейки
    }
    editAction.backgroundColor = .blue
    
    let deleteAction = UITableViewRowAction(style: .destructive, title: "Удалить") { (action, indexPath) in
        // Ваш код для удаления ячейки
    }
    
    return [deleteAction, editAction]
}

Этот метод позволяет определить список доступных действий для ячейки таблицы. В приведенном выше примере, мы добавляем два действия: "Редактировать" и "Удалить". При нажатии на кнопку "Редактировать", будет вызываться замыкание, в котором вы должны написать код для редактирования содержимого ячейки.

Для дополнительной настройки действий, вы можете установить цвет фона каждого действия с помощью свойства backgroundColor.

Кроме того, метод tableView(_:commit:forRowAt:) можно использовать для обработки нажатия на действие. Например, если пользователь нажимает на кнопку "Удалить", вы можете удалить соответствующую ячейку из источника данных таблицы вызовом метода deleteRows(at:with:) для UITableView.

В итоге, используя метод tableView(_:editActionsForRowAt:), вы можете легко добавить функцию редактирования содержимого ячейки таблицы в вашем приложении iOS с помощью Swift 5.