Назад к вопросам
Яндекс Маркет
Junior — Middle
66
Каким образом можно отменить выполнение задачи, запланированной с помощью DispatchWorkItem?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Для отмены выполнения задачи, запланированной с помощью DispatchWorkItem в iOS, используется метод cancel() у самого объекта DispatchWorkItem.
Пример:
let workItem = DispatchWorkItem {
print("Выполнение задачи")
}
DispatchQueue.global().async(execute: workItem)
// Отмена задачи
workItem.cancel()
Если задача еще не начала выполняться, вызов cancel() предотвратит её выполнение. Внутри самого DispatchWorkItem можно проверять состояние отмены с помощью isCancelled и корректно реагировать, например:
let workItem = DispatchWorkItem {
if workItem.isCancelled {
return
}
// основная работа
}
Таким образом, отмена задачи осуществляется через метод cancel() объекта DispatchWorkItem.