Sobes.tech
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 @Published annotációval.
  • A nézetben használj egy @ObservedObject vagy @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.