Junior — Middle
Môžete vysvetliť, čo je StateObject v kontexte vývoja?
sobes.tech AI
Odpoveď od AI
@StateObject — je vlastnosť-obal v SwiftUI, ktorá sa používa na vytváranie a správu životného cyklu objektu, ktorý implementuje protokol ObservableObject.
Hlavnou úlohou StateObject je zabezpečiť, že objekt bude vytvorený iba raz a zostane počas opakovaných prekreslení View, v ktorom je deklarovaný. To je dôležité pre uchovávanie stavu, ktorý musí prežiť aktualizácie rozhrania.
Príklad použitia:
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
}
}
}
}
Tu je viewModel vytvorený raz a zachováva stav medzi aktualizáciami rozhrania.