@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
- @Binding: Two-Way Data Flow
- @ObservableObject and @StateObject
- @EnvironmentObject for Shared State
- Single Source of Truth and Unidirectional Flow