🐾

UserDefaults操作を楽にするライブラリ

2022/11/13に公開

はじめに

UserDefaultsの管理ってめんどくさいですよね。
特にこのあたり↓↓

  • キーの管理
  • 初期値の設定

これらを楽にするライブラリを紹介します。

ライブラリ

SwiftyUserDefaultsというライブラリを使うと楽にできます。

GitHub

導入

(READMEのコピペなので、バージョンは更新されている可能性があります。)

CocoaPods

pod 'SwiftyUserDefaults', '~> 5.0'

SPM

let package = Package(
    name: "MyPackage",
    products: [...],
    dependencies: [
        .package(url: "https://github.com/sunshinejr/SwiftyUserDefaults.git", .upToNextMajor(from: "5.0.0"))
    ],
    targets: [...]
)

Carthage

github "sunshinejr/SwiftyUserDefaults" ~> 5.0

使い方

1. キーの定義

extension DefaultsKeys {
    // 初期値を設定しない場合
    var username: DefaultsKey<String?> { .init("username") }
    
    // 初期値を設定する場合
    var launchCount: DefaultsKey<Int> { .init("launchCount", defaultValue: 0) }
}

2. 取得

let username: String? = Defaults[\.username]
let launchCount: Int = Defaults[\.launchCount]

3. 更新

Defaults[\.username] = "new username"

4. 便利メソッド

全消し

Defaults.removeAll()

注意

Defaults[]でアクセスするにはimport SwiftyUserDefaultsする必要があります。
複数箇所にimport SwiftyUserDefaultsがあると、脱SwiftyUserDefaultsをするとなったときに地獄になりますw

UserDefaultsを操作するクラスを用意して、そこに閉じ込めた方がいいですねー。

最後に

最後まで読んでいただきありがとうございました!

GitHubで編集を提案

Discussion