見出し画像

New SwiftUI - Property Wrappers-@AppStorage

まずProperty Wrappers全体のおさらいです。まとめていただいているので参考に。

@AppStorageです。これかなり便利です。key-value data を保存するものです。UserDefaultsを使う保存方法のSWiftUI版となります。

Property Wrappersを自分で定義して使うようになっていましたが、今回のアップデータで@AppStorageというのができています。ほんと便利。

使い方ですが、

で紹介されていて、試してみると。

struct ContentView: View {
   @AppStorage("username") var username: String = "Anonymous"
   var body: some View {
       VStack {
           Text("Welcome, \(username)!")
           
           Button("Log in") {
               self.username = "@twostraws"
           }
       }
   }
}

最初表示されているコードが、

Welcome, \(username)!

で"Anonymous"が表示されています。

これを"Log in"を押すことで、"@twostraws"に変更して保存しています。

一旦終了して再度起動すると、初期値が"@twostraws"に変更になっています。

Button("Log in") {
               self.username = "@twostraws"
           }

の"@twostraws"部分をいろいろな名前に変えて、再起動してみましょう。保存されているのがわかります

@AppStorage("username") var username: String = "Anonymous"

 "username"がkeyとなって保存されます。

self.username = "@twostraws"

これで新しく保存されます。

Text("Welcome, \(username)!")

これでに反映されて、再読み込みした場合にも保存されているので、同じ文字が表示されます。

この記事が気に入ったらサポートをしてみませんか?