Junior — Middle
Meg lehet magyarázni, hogy mi az az ObservableObject a SwiftUI kontextusában, és hogyan használják az állapot kezelésére?
sobes.tech MI
Válasz az MI-től
A ObservableObject a SwiftUI-ban egy protokoll, amely lehetővé teszi megfigyelhető állapotú objektumok létrehozását. Amikor az ilyen objektum tulajdonságai megváltoznak, a SwiftUI automatikusan frissíti a kapcsolódó nézeteket.
A ObservableObject használatához:
- Hozz létre egy osztályt, amely öröklődik az
ObservableObject-ből. - Jelöld meg azokat a tulajdonságokat, amelyeket követni szeretnél, az
@Publishedannotációval. - A nézetben használj egy
@ObservedObjectvagy@StateObject-tel ellátott tulajdonságot az változások feliratkozásához.
Példa:
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()
}
}
}
Ebben a példában, amikor a username megváltozik, a felhasználói felületen lévő szöveg automatikusan frissül.