Junior — Middle
Vai varat izskaidrot, kas ir ObservableObject SwiftUI kontekstā un kā tas tiek izmantots stāvokļa pārvaldībai?
sobes.tech AI
Atbilde no AI
ObservableObject SwiftUI ir protokols, kas ļauj izveidot objektus ar novērojamu stāvokli. Kad šāda objekta īpašības mainās, SwiftUI automātiski atjaunina saistītās skatus.
Lai izmantotu ObservableObject, ir jā:
- Izveido klasi, kas manto no
ObservableObject. - Atzīmē īpašības, kuras jāseko, ar
@Publishedanotāciju. - Skatā izmantot īpašību ar
@ObservedObjectvai@StateObject, lai abonētos uz izmaiņām.
Piemērs:
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()
}
}
}
Šajā piemērā, kad username mainās, teksts interfeisā automātiski tiek atjaunināts.