Junior — Middle
SwiftUI контекстинде ObservableObject деген эмне жана ал абалду башкарууда кантип колдонулат деп түшүндүрө аласызбы?
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 өзгөргөндө, интерфейсдеги текст автоматтык түрдө жаңыланат.