Junior — Middle
Aké metódy a mechanizmy v SwiftUI sa používajú na aktualizáciu používateľského rozhrania pri zmene údajov?
sobes.tech AI
Odpoveď od AI
V SwiftUI sa aktualizácia používateľského rozhrania pri zmene dát prebieha prostredníctvom reaktívneho mechanizmu založeného na vlastnostiach s obalmi stavu:
@State— pre lokálny stav vo vnútri pohľadu. Pri zmene hodnoty sa pohľad automaticky prekreslí.@Binding— na odovzdanie odkazu na stav medzi pohľadmi.@ObservedObjecta@StateObject— na sledovanie objektov, ktoré implementujú protokolObservableObject, ktoré zverejňujú zmeny prostredníctvom vlastností@Published.@EnvironmentObject— na odovzdanie objektov cez hierarchiu pohľadov.
Príklad:
class UserData: ObservableObject {
@Published var name: String = ""
}
struct ContentView: View {
@StateObject var userData = UserData()
var body: some View {
VStack {
TextField("Zadajte meno", text: $userData.name)
Text("Ahoj, \(userData.name)!")
}
}
}
Pri zmene userData.name SwiftUI automaticky aktualizuje text na obrazovke. Tento prístup umožňuje deklaratívne popísať UI a framework sa stará o aktualizácie pri zmene dát.