Sobes.tech
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)"
    }
}