Sobes.tech
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 @ObservedObject tai @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ä.