SwiftUI入門 レッスン5
@Observable
@Observableマクロと@Bindableを使ったSwift 5.9以降の状態管理を学びます。
@Observableとは
Swift 5.9 / iOS 17から導入された@Observableマクロは、 クラスの変更を自動追跡します。以前のObservableObject / @Publishedより シンプルに書けます。@BindableでBinding値を取り出せます。
旧: ObservableObject
class Model: ObservableObject {
@Published var count = 0
}
// Viewで: @StateObject var m新: @Observable
@Observable
class Model {
var count = 0
}
// Viewで: @State var m@Observableの基本
クラスに@Observableを付けるだけで、 プロパティの変更がViewに自動的に通知されます。
Swiftエディタ
@Bindableでバインディング
@Bindableを使うと@ObservableクラスのプロパティへのBindingを取り出せます。
Swiftエディタ