Sobes.tech
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.