Sobes.tech
Junior — Middle

Végezhetünk műveleteket a felhasználói felületen háttérszálból?

sobes.tech MI

Válasz az MI-től

iOS-en nem lehet közvetlenül műveleteket végrehajtani a felhasználói felületen háttérszálról. Minden UI-frissítésnek a fő szálon (main) kell történnie, különben kiszámíthatatlan viselkedéshez vagy alkalmazás összeomlásához vezethet.

Ha a UI-t háttérszálról kell frissíteni, akkor át kell váltani a fő szálra, például a DispatchQueue.main.async használatával:

DispatchQueue.global().async {
    // Háttérmunka
    
    DispatchQueue.main.async {
        // UI-frissítés
        self.label.text = "Frissítve"
    }
}