Junior — Middle
Оё ҳама вазифаҳо дар MainQueue бояд дар сӯрохи асосӣ иҷро шаванд?
sobes.tech AI
Ҷавоб аз AI
Ҳамма вазифалар MainQueue-дан бўлмай, асосий тўпроқда бажарилиши керак эмас. iOSда MainQueue (асосий навбат) UI янгилаш ва интерфейс элементлари билан ишлаш учун мўлжалланган, уларни асосий тўпроқда бажариш талаб қилинади.
Агар вазифа оғир ҳисоблашлар ёки тармоқ сўровлари билан боғлиқ бўлса, уни фон тўпроқда (глобал навбатлар ёки ўз навбатлар орқали) бажариш яхшироқ, шунда UI блокланмайди ва дастурнинг жавоб бериш қобилияти пасаймайди.
Масалан:
DispatchQueue.global().async {
// Ажойиб вазифа
let result = performHeavyCalculation()
DispatchQueue.main.async {
// Натижасини UI янгилаш
self.label.text = "Натижа: \(result)"
}
}