同じKey名を設定したつもりでもtypoしてしまっていてKeyに期待結果が入ってないなんてことはあるので
enumで管理するにはどうすればいいかまとめておこうと思いましたが当然すでにまとめられていたのでその記事のリンクを貼って終わりにします
これみて自分もとりあえず必要な分だけ作りました
enum UserDefaultsSettings: String {
case hogehoge
func set(value: Any) {
UserDefaults.standard.set(value, forKey: rawValue)
}
func object() -> Any? {
return UserDefaults.standard.object(forKey: rawValue)
}
// 該当のKeyに対応するvalueがnilじゃないか
func hasValue() -> Bool {
return self.object() != nil
}
}
あとはUserDefaultsを使って色々なところで値を保存したりしていると使用する場所が散らばって値の変化を追いづらくなるみたいなのでその辺もあとで調べながらまとめていきたい
DataStoreみたいなところで実際のset,object等のUserDefautlsの処理をまとめておけばいい気もするけど
追記
UserDefaultsの仕組み
https://qiita.com/TheAtlasEngine/items/d29eba3e01f51c5906ea
https://hajihaji-lemon.com/smartphone/swift/nsuserdefaults/