Sobes.tech
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 @Published anotacija.
  • Vaizde naudoti savybę su @ObservedObject arba @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.