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 փոխվում է, տեքստը ավտոմատ կերպով թարմանում է։