Sobes.tech
Junior — Middle

Kokios naujos priemonės SwiftUI būsenos stebėjimui ir valdymui buvo įdiegta po iOS 13 versijos?

sobes.tech AI

Atsakymas iš AI

Po iOS 13, SwiftUI pridėjo naujus būdus stebėti ir valdyti būseną, kurie išplečia reaktyvaus programavimo galimybes:

  • @StateObject — kurti ir valdyti ObservableObject objektų gyvavimo ciklą viduje vaizdo, užtikrinant, kad objektas būtų sukurtas tik kartą.
  • @ObservedObject — prenumeruoti išorinių ObservableObject objektų pokyčius.
  • @EnvironmentObject — perduoti duomenis per vaizdų hierarchiją be aiškaus perdavimo.
  • @AppStorage — patogiai susieti būseną su UserDefaults.
  • @SceneStorage — išsaugoti būseną scenos gyvavimo cikle.

Šios savybės leidžia efektyviai stebėti duomenų pokyčius ir automatiškai atnaujinti sąsają be papildomo kodo.

@StateObject pavyzdys:

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