Junior — Middle
Můžete vysvětlit, co je to StateObject v kontextu vývoje?
sobes.tech AI
Odpověď od AI
@StateObject — je vlastnost-obal v SwiftUI, která se používá k vytváření a správě životního cyklu objektu, který implementuje protokol ObservableObject.
Hlavním úkolem StateObject je zajistit, že objekt bude vytvořen pouze jednou a bude zachován při opakovaných překresleních View, ve kterém je deklarován. To je důležité pro uchovávání stavu, který musí přežít aktualizace rozhraní.
Příklad použití:
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
}
}
}
}
Zde je viewModel vytvořen jednou a uchovává stav mezi aktualizacemi rozhraní.