Sobes.tech
Junior — Middle

Quali istruzioni devono essere seguite durante l'uso di MainActor?

sobes.tech AI

Risposta dell'AI

@MainActor in Swift viene utilizzato per indicare che il codice deve essere eseguito sul thread principale, il che è importante per aggiornare l'interfaccia utente e altre operazioni che richiedono il thread principale. Indicazioni principali nell'uso di MainActor:

  • Annotare classi, strutture, funzioni o proprietà con @MainActor per garantire l'esecuzione sul thread principale.
  • Per funzioni asincrone, è possibile usare @MainActor insieme a async.
  • Se si chiama una funzione contrassegnata con @MainActor da un altro thread, usare await per passare al thread principale.

Esempio:

@MainActor
class ViewModel {
    var title: String = ""

    func updateTitle() {
        title = "Aggiornato"
    }
}

func someBackgroundTask() async {
    let vm = ViewModel()
    await vm.updateTitle() // cambio al thread principale
}

In questo modo, @MainActor aiuta a evitare errori legati all'aggiornamento dell'UI da un thread diverso dal principale.