How does Observable work with Bindings
Asked on 09/13/2024
1 search
In the session titled "SwiftUI essentials" from WWDC 2024, the concept of Observable
and Bindings
is discussed in the context of state management in SwiftUI. An Observable
object is used to create dependencies between views and the data they display. When a property of an observable object changes, SwiftUI automatically updates any views that depend on that property.
Bindings, on the other hand, provide a two-way reference to a state. This means that when a view updates a value through a binding, the change is reflected in the original state, and vice versa. This is particularly useful for creating interactive views where the state needs to be shared or synchronized across multiple views.
For example, in the session, a ratingView
is updated to take a binding as an input, allowing the container view to provide a single source of truth for the rating value. This ensures that when the rating is updated in one view, it is reflected across all related views, such as a gauge, maintaining consistency in the UI.
For more details, you can refer to the session SwiftUI essentials (12:29).

Demystify SwiftUI containers
Learn about the capabilities of SwiftUI container views and build a mental model for how subviews are managed by their containers. Leverage new APIs to build your own custom containers, create modifiers to customize container content, and give your containers that extra polish that helps your apps stand out.

Extend your app’s controls across the system
Bring your app’s controls to Control Center, the Lock Screen, and beyond. Learn how you can use WidgetKit to extend your app’s controls to the system experience. We’ll cover how you can to build a control, tailor its appearance, and make it configurable.

SwiftUI essentials
Join us on a tour of SwiftUI, Apple’s declarative user interface framework. Learn essential concepts for building apps in SwiftUI, like views, state variables, and layout. Discover the breadth of APIs for building fully featured experiences and crafting unique custom components. Whether you’re brand new to SwiftUI or an experienced developer, you’ll learn how to take advantage of what SwiftUI has to offer when building great apps.