1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

UserDefaultsのキーを管理

Last updated at Posted at 2020-03-29

同じ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/

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?