UserDefaultsは、アプリケーションの設定を保存しておくのに非常に便利なものです。
非常に、シンプルで、再利用しやすいUserDefaultsの使い方を紹介します。
これまで
使うためには、キー値(String)が必要で、保存タイプの理解も必要です。
ですので、取得するときには、以下のように取得してると思います。
let saveData = UserDefaults.standard.string(forKey: "SaveData")
保存する時は、以下のような使い方。
UserDefaults.standard.setValue(saveData, forKey: “SaveData”)
ちょっとしたアプリでは、上記のように使っているでしょう。
最初に思いつく改良点は、キー値を即値で使うのはよくないということでしょう。ですので、それをアプリケーションのstatic変数として定義したりすると思います。
WWDCで紹介されていた方法
UserDefaultsのextensionにする方法が、AppleのWWDCのビデオで紹介されていました。
extension UserDefaults { Private static let userDefaultKey = "key" @objc dynamic var keyData: String { get { return String(forKey: UserDefaults.userDefaultKey) } Set { set(newValue, forKey: UserDefaults.userDefaultKey) } } }
これまでの使い方では、アプリ内に定義していましたが、よく考えるとUserDefaultsで定義する方が使い方に合っていると思います。
いわゆるswift的、それも非常に最初の段階のSwift的な使い方の紹介でした。
Sponsor Link