Junior — Middle
Kas saab seletada, mis on ObservableObject SwiftUI kontekstis ja kuidas seda kasutatakse oleku haldamiseks?
sobes.tech AI
Vastus AI-lt
ObservableObject SwiftUI on protokoll, joka mahdollistaa havaittavissa olevan tilan omaavien objektien luomisen. Kun tällaisen objektin ominaisuudet muuttuvat, SwiftUI päivittää automaattisesti siihen liittyvät näkymät.
ObservableObject-n käyttöön:
- Luo luokka, joka perii
ObservableObject-protokollasta. - Merkitse seurattavat ominaisuudet
@Published-annotaatiolla. - Näkymässä käytä ominaisuutta
@ObservedObjecttai@StateObject-annotaatiolla tilan seuraamiseksi.
Esimerkki:
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()
}
}
}
Tässä esimerkissä, kun username muuttuu, tekstin päivitys tapahtuu automaattisesti käyttöliittymässä.