Junior — Middle
Kuidas saab tühistada DispatchWorkItem abil planeeritud ülesande täitmise?
sobes.tech AI
Vastus AI-lt
iOS-s saate plaanitud ülesande tühistamiseks DispatchWorkItem abil kasutatakse meetodit cancel() otse DispatchWorkItem objektil.
Näide:
let workItem = DispatchWorkItem {
print("Ülesande täitmine")
}
DispatchQueue.global().async(execute: workItem)
// Tühista ülesanne
workItem.cancel()
Kui ülesanne pole veel alanud, takistab cancel() selle täitmist. DispatchWorkItem sees saate kontrollida tühistamise olekut isCancelled abil ja vastavalt reageerida, näiteks:
let workItem = DispatchWorkItem {
if workItem.isCancelled {
return
}
// põhitegevus
}
Seega toimub ülesande tühistamine DispatchWorkItem objekti cancel() meetodi kaudu.