Junior — Middle
MainQueue'dagi barcha vazifalar asosiy oqimda bajariladimi?
sobes.tech AI
AIdan javob
Yoʻq, MainQueue'dagi barcha vazifalar asosiy oqimda bajarilishi shart emas. iOS'da MainQueue (asosiy navbat) UI yangilash va asosiy oqimda bajarilishi kerak bo'lgan interfeys elementlari bilan ishlash uchun mo'ljallangan.
Agar vazifa og'ir hisoblashlar yoki tarmoq so'rovlariga bog'liq bo'lsa, uni fon oqimida (global navbatlar yoki o'z navbatlari orqali) bajarish yaxshiroq, shunda UI bloklanmaydi va ilovaning javob berish qobiliyati pasaymaydi.
Misol:
DispatchQueue.global().async {
// Og'ir vazifa
let result = performHeavyCalculation()
DispatchQueue.main.async {
// Natija bilan UI yangilash
self.label.text = "Natija: \(result)"
}
}