@AppStorageとは?
Swiftで使用していたUserDefaultsをSwiftUIで使用可能にし、かつバインド可能な値にしてくれるプロパティラッパーです。
UserDefaultsに関しては以下記事で説明しています。
@AppStorageの使い方
使い方はとてもシンプルです。以下のように定義し@Stateと同じように使うことが可能です。
@AppStorage("key") var 変数名 = ""
例:TextEditorの内容をAppStorageに覚えさせておくコード

import SwiftUI
struct ContentView: View {
@AppStorage("text") private var notes = ""
var body: some View {
NavigationView {
TextEditor(text: $notes)
.navigationTitle("TextView")
.padding()
}
}
}
保存・読み出しのタイミングは?
- 保存:値に変化があるタイミングで保存してくれる
- 読み出し:onApperの段階ではすでに読み込まれている
対応している型は?
UserDefaultsと同様です。
・boolean、integer、float、double、string、array、dictionary、Data
まとめ
@AppStorageはUserDefaultsをSwiftUIでバインド可能な値として使えるプロパティラッパーです。
環境
・Swift 5.7.2
・Xcode 14.2
・iOS 16.2
おすすめ参考書籍
図とサンプルコードが多くわかりやすく、手を動かしながら学べるのはもちろんですが、状態やデータフローに関する解説や、swiftuiから uikitを使う方法、uikitから swiftuiを使う方法などフレームワークの関連性まで説明していてとても参考になります。
SwiftUIの勉強ならUdemyがおすすめ!
私は以下の講座で勉強しています。サンプルアプリをたくさん作るので楽しく進められます。
2022/12/27時点で4345評価のベストセラーです。
SwiftUI Masterclass 2022https://www.udemy.com/courses/search/?src=ukw&q=SwiftUI
2400円と安いのもおすすめです。
英語ですが、英語のUdemyコースの勉強の仕方は以下で説明しています。簡単です。
もしご参考になりましたら下部にある役に立ったボタン、TwitterなどSNSへの投稿をしていただけると励みになります
コメント