Sobes.tech
Junior — Middle

Jaké nové prostředky sledování a správy stavu ve SwiftUI byly zavedeny po verzi iOS 13?

sobes.tech AI

Odpověď od AI

Po iOS 13 přidal SwiftUI nové prostředky pro sledování a správu stavu, které rozšiřují možnosti reaktivního programování:

  • @StateObject — pro vytváření a správu životního cyklu objektů ObservableObject uvnitř pohledu, zajišťující, že objekt je vytvořen pouze jednou.
  • @ObservedObject — pro přihlášení ke změnám externích objektů ObservableObject.
  • @EnvironmentObject — pro předávání dat přes hierarchii pohledů bez jejich explicitního předávání.
  • @AppStorage — pro pohodlné spojení stavu s UserDefaults.
  • @SceneStorage — pro ukládání stavu v rámci životního cyklu scény.

Tyto vlastnosti umožňují efektivně sledovat změny dat a automaticky aktualizovat rozhraní bez dalšího kódu.

Příklad použití @StateObject:

class ViewModel: ObservableObject {
    @Published var count = 0
}

struct ContentView: View {
    @StateObject private var viewModel = ViewModel()

    var body: some View {
        VStack {
            Text("Count: \(viewModel.count)")
            Button("Increment") {
                viewModel.count += 1
            }
        }
    }
}