Junior — Middle
Qanday qilib navbatdagi vazifani uning boshlanishidan oldin bekor qilish mumkin?
sobes.tech AI
AIdan javob
iOS'da, navbatda bo'lsa-da hali ishga tushirilmagan vazifani bekor qilish uchun, vazifa ob'ektida (Operation yoki URLSessionTask kabi) cancel() metodini chaqirish mumkin. Agar vazifa hali boshlanmagan bo'lsa, u bekor qilinadi va ishga tushmaydi.
OperationQueue bilan misol:
let operationQueue = OperationQueue()
let operation = BlockOperation {
print("Vazifa bajarilmoqda")
}
operationQueue.addOperation(operation)
// Vazifani boshlashdan oldin bekor qilish
operation.cancel()
Agar vazifa allaqachon bajarilayotgan bo'lsa, bekor qilish uni darhol to'xtatmasligi mumkin, shuning uchun vazifa ichida isCancelled flagini tekshirish va to'g'ri yakunlash muhimdir.