はじめに
今回はUserDefaultsをもっと簡単に管理しやすくするためのコードを紹介していきたいと思います。是非参考にしていただけると幸いです☺️
※ジェネリクスとenumを利用しています。
環境
- macOS Catalina(10.15.2)
- xcode(11.3)
- Swift5.1
コード
※UserDefaultsはあちこちのファイルで定義すると管理が大変になるので、このように1つのファイルで管理するといいかもです。
enum UserDefaultsKey: String {
case title = "title"
func get<T>() -> T? {
return UserDefaults.standard.object(forKey: self.rawValue) as? T
}
func set<T>(value: T) {
UserDefaults.standard.set(value, forKey: self.rawValue)
}
func remove() {
UserDefaults.standard.removeObject(forKey: self.rawValue)
}
}
利用するときはこんな感じです。
UserDefaultsKey.title.set(value: "氷菓")
UserDefaultsKey.title.get() ?? String()
UserDefaultsKey.title.remove()
##解説
enumを利用しenumのメソッドに登録、取得、削除の処理を定義しています。caseの部分にKeyを定義しています。UserDefaultsはどの型でも扱うことができるので、メソッドにジェネリクスを利用しています。
流れとしては、caseでキーを指定しそれに対応する値を各メソットでどう取り扱うかという感じです。
##おまけ(UserDefaultsのファイルを見る!)
思ったより早く説明しきってしまったので、おまけコーナーを設けました笑。知っている方もいるかと思いますが、知らなかった方は是非参考にしてみてください。
2.ダウンロードしたファイルを「パッケージの内容を表示」を選択して開いてください。
3.次のパス(AppData/Library/Preferences/任意のファイル名.plist)にあるファイルを開くとUserDefaultsの中身を確認することができます。