0Pricing
Swift Academy · Lesson

@ObservableObject and @StateObject

Creating reference-type models that drive SwiftUI views via @Published.

Welcome

For complex state shared across multiple views, use reference-type models conforming to `ObservableObject`, owned by `@StateObject` or observed by `@ObservedObject`.

Defining an ObservableObject

```swift class CartModel: ObservableObject { @Published var items: [CartItem] = [] @Published var total: Double = 0 func add(_ item: CartItem) { items.append(item) } } ```

All lessons in this course

  1. @Binding: Two-Way Data Flow
  2. @ObservableObject and @StateObject
  3. @EnvironmentObject for Shared State
  4. Single Source of Truth and Unidirectional Flow
← Back to Swift Academy