Sobes.tech
Junior — Middle

Se poate explica ce este un ObservableObject în contextul SwiftUI și cum este folosit pentru gestionarea stării?

sobes.tech AI

Răspuns de la AI

ObservableObject în SwiftUI este un protocol care permite crearea de obiecte cu o stare observabilă. Când proprietățile unui astfel de obiect se schimbă, SwiftUI actualizează automat vizualizările asociate.

Pentru a folosi ObservableObject, trebuie:

  • Să creezi o clasă care moștenește de la ObservableObject.
  • Să marchezi proprietățile care trebuie urmărite cu adnotarea @Published.
  • În vizualizare, să folosești o proprietate cu adnotarea @ObservedObject sau @StateObject pentru a te abona la schimbări.

Exemplu:

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()
        }
    }
}

În acest exemplu, atunci când username se schimbă, textul din interfață se actualizează automat.