Junior — Middle
Как можете да отмените изпълнението на задача, планирана с DispatchWorkItem?
sobes.tech AI
Отговор от 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.