Sobes.tech
Junior — Middle

Welke nieuwe middelen voor monitoring en statusbeheer in SwiftUI zijn geïntroduceerd na versie iOS 13?

sobes.tech AI

Antwoord van AI

Na iOS 13 heeft SwiftUI nieuwe middelen toegevoegd voor het monitoren en beheren van de toestand, die de mogelijkheden van reactieve programmeren uitbreiden:

  • @StateObject — voor het creëren en beheren van de levenscyclus van ObservableObject-objecten binnen een view, waarbij wordt gegarandeerd dat het object slechts één keer wordt gemaakt.
  • @ObservedObject — voor het abonneren op wijzigingen in externe ObservableObject-objecten.
  • @EnvironmentObject — voor het doorgeven van gegevens via de hiërarchie van views zonder ze expliciet door te geven.
  • @AppStorage — voor het handig koppelen van de toestand aan UserDefaults.
  • @SceneStorage — voor het opslaan van de toestand binnen de levenscyclus van de scène.

Deze eigenschappen maken het mogelijk om dataverschuivingen efficiënt te volgen en de interface automatisch bij te werken zonder extra code.

Voorbeeld van gebruik van @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
            }
        }
    }
}