Sobes.tech
Middle — Middle+

È possibile eseguire operazioni con l'interfaccia grafica al di fuori del thread principale in un'applicazione?

sobes.tech AI

Risposta dell'AI

In iOS, tutte le operazioni con l'interfaccia grafica (UI) devono essere eseguite esclusivamente nel thread principale (main thread). Questo perché UIKit non è thread-safe, e qualsiasi modifica all'UI da thread in background può portare a comportamenti imprevedibili o crash dell'app.

Se è necessario aggiornare l'interfaccia dopo aver completato un task in background, bisogna tornare al thread principale, ad esempio usando DispatchQueue.main.async:

DispatchQueue.global().async {
    // Task in background
    let data = fetchData()
    
    DispatchQueue.main.async {
        // Aggiornamento UI
        self.label.text = data
    }
}