Sobes.tech
Junior — Middle

Kokiais atvejais rekomenduojama naudoti EnvironmentObject projekte?

sobes.tech AI

Atsakymas iš AI

Rekomenduojama naudoti EnvironmentObject SwiftUI, norint perduoti duomenis ar būseną, kurie turėtų būti prieinami daugeliui vaizdų hierarchijoje, nesikreipiant į juos aiškiai per kiekvieną lygį.

Jis turėtų būti taikomas, kai:

  • Yra globali būsena, pvz., naudotojo nustatymai, programos tema ar autentifikavimo duomenys.
  • Daugelis vaikų vaizdų turi būti automatiškai atnaujinami keičiant duomenis.

Pavyzdys:

class UserSettings: ObservableObject {
    @Published var username: String = ""
}

// Pagrindiniame vaizde
@StateObject var settings = UserSettings()

// Perduoti hierarchijoje
ContentView()
    .environmentObject(settings)

// Vaiko vaizde
@EnvironmentObject var settings: UserSettings