@StateObject

╱🚧 under construction

SwiftUIviewstateobject ⟩ @StateObject

// ⭐️ 1. declare a type that conforms to `ObservableObject`
class Zoo : ObservableObject {

    // ⭐️ 2. declare published value(s) in this type
    @Published var creatures = [
        Creature(name: "Gorilla", emoji: "🦍"),
        Creature(name: "Peacock", emoji: "🦚"),
    ]
    
}

// content view
struct ContentView: View {

    // ⭐️ 3. declare & initialize a state object
    @StateObject var data = Zoo()
    
    var body: some View {
        // 4. access the state object's data in subviews
    }
}

📗 參考:Swift Playgrounds (Keep Going with Apps) - Sharing Data Between Views.

📁 CreatureZoo

📁 MyApp

📁 ContentView

Last updated

Was this helpful?