В настоящее время я работаю над приложением todo, используя основные данные.Пользователь может пометить задачи как выполненные.Теперь я хочу добавить кнопку на панель инструментов, которая предполагает удаление всех отмеченных задач на одной вкладке.Я уже настроил действия смахивания, чтобы удалить и пометить ячейку одновременно.Я не могу предоставить какой-либо код для этой ситуации просто потому, что у меня нет конкретной идеи, как это реализовать.Код, представленный ниже, показывает, как я настроил удаление.Может быть, это поможет найти решение.
override func tableView(_ tableView: UITableView,
trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration?
{
let deleteAction = UIContextualAction(style: .destructive, title: "Delete", handler: { (ac:UIContextualAction, view:UIView, success:(Bool) -> Void) in
//Haptic Feedback
AudioServicesPlaySystemSound(1519)
//Animation
let range = NSMakeRange(0, self.tableView.numberOfSections)
let sections = NSIndexSet(indexesIn: range)
self.tableView.reloadSections(sections as IndexSet, with: .fade)
//Call delete function from CoreDataManager.swift
let todo = CoreDataManager.shared.getTodoItem(index: indexPath.row)
CoreDataManager.shared.deleteItems(item2: todo)
tableView.reloadData()
success(true)
})
deleteAction.image = UIImage(named: "trash1")
deleteAction.backgroundColor = .red
return UISwipeActionsConfiguration(actions: [deleteAction])
}