はじめに
iOS14から使用できる@AppStorageがまじで便利なので知らない人には知ってほしい!
@AppStorageとは?
SwiftUIの@AppStorageは、アプリの設定や状態を永続化するためのプロパティラッパーです。これを使用することで、アプリを終了したり再起動したりしても、その設定や状態を保存したままにすることができます。使用するには、プロパティを@AppStorageプロパティラッパーでラップし、そこに対してアプリ内での設定や状態を保存したい値を代入するだけです。
ChatGPTに書かせてみました笑
たぶんあってますね笑
実装
基本的な使い方
これだけで値がUserDefaultsに保存されます。
値を変えた時点でUserDefaultsに保存されます。
@AppStorage("fontSize") var fontSize: Int = 15
AppGroupで使う
このようにすることでAppExtensionでもUserDefaultsを共有することができます。
@AppStorage("fontSize", store: UserDefaults(suiteName: "com.taishin-miyamoto")) var fontSize: Int = 15
おわり
便利ですが、まだ対応していない型があるのでこれからに期待です。
個人的にはDictionary型に対応して欲しいです。