Sobes.tech
Junior — Middle

iOSda Grand Central Dispatch yordamida vazifalarni asinxron bajarishni qanday amalga oshirish mumkin?

sobes.tech AI

AIdan javob

Grand Central Dispatch (GCD) iOS'da vazifalarni asinxron bajarishni boshqarish uchun pastki darajadagi API.

GCD yordamida vazifani asinxron bajarish uchun dispatch_async funksiyasidan foydalanish mumkin, bu kod blokini belgilangan navbatga joylashtiradi va darhol nazoratni qaytaradi, joriy oqimni bloklamaydi.

Foydalanish misoli:

DispatchQueue.global(qos: .background).async {
    // Uzun operatsiya, masalan, ma'lumotlarni yuklash
    let data = fetchDataFromNetwork()
    
    DispatchQueue.main.async {
        // UI ni asosiy oqimda yangilash
        self.updateUI(with: data)
    }
}

Bu yerda:

  • DispatchQueue.global(qos: .background) — og'ir vazifalar uchun global fon navbati.
  • async — blokning asinxron bajarilishi.
  • Orqa fon ishidan so'ng, UI ni yangilash uchun asosiy oqimga o'tamiz.

Shu tarzda, GCD fon rejimida vazifalarni oson bajarishga imkon beradi, interfeysni bloklamasdan, va UI ni yangilash uchun asosiy oqimga qaytadi.