Junior — Middle
Cum se poate anula executarea unei sarcini programate cu DispatchWorkItem?
sobes.tech AI
Răspuns de la AI
Pentru a anula executarea unei sarcini programate cu DispatchWorkItem în iOS, se folosește metoda cancel() pe obiectul DispatchWorkItem în sine.
Exemplu:
let workItem = DispatchWorkItem {
print("Executarea sarcinii")
}
DispatchQueue.global().async(execute: workItem)
// Anulare sarcină
workItem.cancel()
Dacă sarcina nu a început încă, apelarea cancel() va împiedica executarea acesteia. În interiorul DispatchWorkItem, se poate verifica starea de anulare cu isCancelled și reacționa corespunzător, de exemplu:
let workItem = DispatchWorkItem {
if workItem.isCancelled {
return
}
// lucrare principală
}
Astfel, anularea sarcinii se face prin metoda cancel() a obiectului DispatchWorkItem.