Junior — Middle
Ar galite paaiškinti, kas yra ObservableObject SwiftUI kontekste ir kaip jis naudojamas būsenos valdymui?
sobes.tech AI
Atsakymas iš AI
ObservableObject SwiftUI yra protokolas, leidžiantis kurti objektus su stebimu būsenos būdu. Kai tokio objekto savybės keičiasi, SwiftUI automatiškai atnaujina susijusius vaizdus.
Norint naudoti ObservableObject, reikia:
- Sukurti klasę, kuri paveldi iš
ObservableObject. - Pažymėti savybes, kurias reikia stebėti, su
@Publishedanotacija. - Vaizde naudoti savybę su
@ObservedObjectarba@StateObject, kad prenumeruotumėte pokyčius.
Pavyzdys:
class UserSettings: ObservableObject {
@Published var username: String = "Guest"
}
struct ContentView: View {
@StateObject var settings = UserSettings()
var body: some View {
VStack {
Text("Hello, \(settings.username)!")
TextField("Username", text: $settings.username)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding()
}
}
}
Šiame pavyzdyje, kai username keičiasi, tekstas interfeise automatiškai atnaujinamas.