Sobes.tech
Junior — Middle

Jaké pokyny je třeba dodržovat při používání MainActor?

sobes.tech AI

Odpověď od AI

@MainActor ve Swiftu se používá k označení, že kód by měl být vykonáván na hlavním vlákně, což je důležité pro aktualizaci UI a další operace vyžadující hlavní vlákno. Hlavní pokyny při používání MainActor:

  • Označte třídy, struktury, funkce nebo vlastnosti pomocí @MainActor, aby bylo zajištěno provádění na hlavním vlákně.
  • Pro asynchronní funkce můžete použít @MainActor spolu s async.
  • Pokud voláte funkci označenou @MainActor z jiného vlákna, použijte await pro přepnutí na hlavní vlákno.

Příklad:

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

    func updateTitle() {
        title = "Aktualizováno"
    }
}

func someBackgroundTask() async {
    let vm = ViewModel()
    await vm.updateTitle() // přepnutí na hlavní vlákno
}

Tímto způsobem @MainActor pomáhá předcházet chybám souvisejícím s aktualizací UI z jiného vlákna než hlavního.