Junior — Middle
Hoe kan je de uitvoering van een taak gepland met DispatchWorkItem annuleren?
sobes.tech AI
Antwoord van AI
Om de uitvoering van een taak gepland met DispatchWorkItem in iOS te annuleren, wordt de methode cancel() gebruikt op het DispatchWorkItem-object zelf.
Voorbeeld:
let workItem = DispatchWorkItem {
print("Taak wordt uitgevoerd")
}
DispatchQueue.global().async(execute: workItem)
// Taak annuleren
workItem.cancel()
Als de taak nog niet is begonnen, voorkomt het aanroepen van cancel() dat deze wordt uitgevoerd. Binnen het DispatchWorkItem kan de status van annulering worden gecontroleerd met isCancelled en hierop worden gereageerd, bijvoorbeeld:
let workItem = DispatchWorkItem {
if workItem.isCancelled {
return
}
// hoofdtaak
}
Zo wordt de taak geannuleerd via de methode cancel() van het DispatchWorkItem-object.