Junior — Middle
DispatchWorkItem аркылуу пландаштырылган тапшырманын аткарылышын кантип жокко чыгарыш керек?
sobes.tech AI
AIден жооп
iOS-та DispatchWorkItem көмегімен жоспарланған тапсырманы болдырмау үшін, DispatchWorkItem объектісінің өзінде cancel() әдісін қолданасыз.
Мысал:
let workItem = DispatchWorkItem {
print("Тапсырма орындалуда")
}
DispatchQueue.global().async(execute: workItem)
// Тапсырманы болдырмау
workItem.cancel()
Егер тапсырма әлі басталмаса, cancel() шақыруы оның орындалуын болдырмайды. DispatchWorkItem ішінде, isCancelled көмегімен болдырмау жағдайын тексеріп, сәйкес әрекет етуге болады, мысалы:
let workItem = DispatchWorkItem {
if workItem.isCancelled {
return
}
// негізгі жұмыс
}
Осылайша, тапсырманы болдырмау DispatchWorkItem объектісінің cancel() әдісі арқылы жүзеге асырылады.