Sobes.tech
Junior — Middle

Aké nové prostriedky na sledovanie a správu stavu v SwiftUI boli zavedené po verzii iOS 13?

sobes.tech AI

Odpoveď od AI

Po iOS 13, SwiftUI je dodal nove načine za spremljanje in upravljanje stanja, ki razširjajo možnosti reaktivnega programiranja:

  • @StateObject — za ustvarjanje in upravljanje življenjskega cikla objektov ObservableObject znotraj pogleda, zagotavljajoč, da je objekt ustvarjen le enkrat.
  • @ObservedObject — za naročanje na spremembe zunanjih objektov ObservableObject.
  • @EnvironmentObject — za prenos podatkov skozi hierarhijo pogledov brez eksplicitnega prenosa.
  • @AppStorage — za priročno povezavo stanja z UserDefaults.
  • @SceneStorage — za shranjevanje stanja znotraj življenjskega cikla scene.

Te lastnosti omogočajo učinkovito spremljanje sprememb podatkov in samodejno posodabljanje vmesnika brez dodatne kode.

Primer uporabe @StateObject:

class ViewModel: ObservableObject {
    @Published var count = 0
}

struct ContentView: View {
    @StateObject private var viewModel = ViewModel()

    var body: some View {
        VStack {
            Text("Count: \(viewModel.count)")
            Button("Increment") {
                viewModel.count += 1
            }
        }
    }
}