Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ, რა არის ObservableObject SwiftUI კონტექსტში და როგორ გამოიყენება მდგომარეობის მართვაში?

sobes.tech AI

პასუხი AI-სგან

ObservableObject SwiftUI-ში არის პროტოკოლი, რომელიც საშუალებას აძლევს შექმნათ ობიექტები თვალსაზრისით, რომელიც შეიძლება იყოს თვალსაზრისით. როდესაც ასეთი ობიექტის თვისებები იცვლება, SwiftUI ავტომატურად განაახლებს დაკავშირებულ ხედებს.

ObservableObject-ის გამოყენებისთვის:

  • შექმენით კლასი, რომელიც მემკვიდრეობით მოდის ObservableObject-დან.
  • მონიშნეთ თვისებები, რომლებიც უნდა იყოს თვალსაზრისით, @Published ანოტაციით.
  • ხედში გამოიყენეთ თვისება @ObservedObject ან @StateObject-ით, რათა გამოწეროთ ცვლილებებზე.

მაგალითი:

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

ამ მაგალითში, როდესაც username იცვლება, ტექსტი ავტომატურად განახლდება ინტერფეისში.