Junior — Middle
Minden feladatnak a MainQueue-ben pontosan a fő szálon kell végrehajtódnia?
sobes.tech MI
Válasz az MI-től
Nem, nem minden feladat a MainQueue-ból futtatandó a fő szálon. iOS-en a MainQueue (fő sor) az UI frissítésére és az olyan felületi elemekkel való munkára szolgál, amelyek végrehajtása a fő szálon szükséges.
Ha a feladat nehéz számításokat vagy hálózati kéréseket érint, jobb, ha háttérszálon (globális sorokon vagy saját sorokon keresztül) hajtjuk végre, hogy ne blokkoljuk a UI-t és ne rontsuk az alkalmazás válaszkészségét.
Példa:
DispatchQueue.global().async {
// Nehéz feladat
let result = performHeavyCalculation()
DispatchQueue.main.async {
// UI frissítése az eredménnyel
self.label.text = "Eredmény: \(result)"
}
}