Junior — Middle
Kunt u uitleggen wat een StateObject is in de context van ontwikkeling?
sobes.tech AI
Antwoord van AI
@StateObject — is een eigenschap-omhulsel in SwiftUI, gebruikt voor het maken en beheren van de levenscyclus van een object dat het ObservableObject-protocol implementeert.
De belangrijkste taak van StateObject is ervoor te zorgen dat het object slechts één keer wordt gemaakt en behouden blijft tijdens herhaalde hertekeningen van de View waarin het is gedeclareerd. Dit is belangrijk voor het opslaan van toestanden die de updates van de interface moeten overleven.
Voorbeeld van gebruik:
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
}
}
}
}
Hier wordt viewModel één keer gemaakt en behoudt het de toestand tussen de updates van de interface.