Sobes.tech
Junior — Middle

Ishingizda vazifalarni bekor qilish yoki kechiktirish uchun qanday asboblar yoki yondashuvlardan foydalanasiz?

sobes.tech AI

AIdan javob

iOS ишлаб чиқишда вазифаларни бекор қилиш ёки кечиктириш учун кўпинча қуйидаги ёндашувлар ва воситалардан фойдаланилади:

  • OperationQueue ва Operation — вазифаларни бажаришни бошқариш, операцияларни тўхтатиш ёки бекор қилиш имконини беради.
  • DispatchWorkItem GCD билан — код блокининг бажарилишини бекор қилиш ёки кечиктириш мумкин.
  • Таймерлар (Timer) — кодни кечиктирилган ҳолда ишга тушириш учун.
  • Бор белгилари ва ҳолатлар — кодда вазифани бажариш керакми ёки бекор қилинганми, шуни текшириш мумкин.

DispatchWorkItem ёрдамида вазифани бекор қилиш мисоли:

var workItem: DispatchWorkItem?

func startTask() {
    workItem = DispatchWorkItem {
        print("Вазифа бажарилмоқда")
    }
    DispatchQueue.global().asyncAfter(deadline: .now() + 5, execute: workItem!)
}

func cancelTask() {
    workItem?.cancel()
    print("Вазифа бекор қилинди")
}

Шундай қилиб, иловада вазифаларни бажаришни элакий бошқариш мумкин.