はじめに
@AppStorage
は、SwiftUIでUserDefaultsに簡単にアクセスするためのプロパティラッパーです。ローカルにデータを保持できるコードをより簡潔に書くことができます。iOS14から使用できます。
@AppStorage
のメリット
- 初期値設定、アクセス、変更、取得がかんたん
- 値が変更されたときにViewが自動的に更新される
コードを見るとメリットがより理解できると思います。
使い方
@AppStorage("Key")
をプロパティに定義するだけです。変数が変更される度に自動的に保存され、通常の変数と同様に使用できます。
import SwiftUI
struct ContentView: View {
// @AppStorageを使用してUserDefaultsのキーを入力
@AppStorage("name") private var name: String = "Sauna1137"
var body: some View {
VStack {
Text("Hi, \(name)!")
TextField("名前を入力してね", text: $name)
}
}
}
上記コードではTextFieldに入力されたテキストは リアルタイムで"name"というキーでUserDefaults に保存され、View(Text)も更新されます。保存、取得など既存のUserDefaultsでは記述量が多く、明示的に保存する必要がありましたが@AppStorage
を使用すれば不要なのがかなり便利ですね!
まとめ
既存のUserDefaultsを知っていると@AppStorage
はかなり使いやすくなっている印象です。
まだ知らないプロパティラッパーがあるので調べてみたいと思います。
最後に
私の働いている会社で経験の有無を問わず採用を行っています。
興味のある方は是非カジュアル面談から応募してみてください!