iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

UserDefault でカスタムクラスを保存しよう

今回は、Swift の UserDefault で簡単に自分が作成したクラスを保存する方法を紹介したいと思います🧑‍🔧

それではやっていく🧑🏻‍💻

やることは、簡単で Entity を Codable に準拠させることで、Data型への encodedecode を簡単にします。

struct FieldData: Codable {
    let id: String
    let name: String
    let prefectureName: String
    let imagePath: String
}

保存・取得に関しては、お馴染み JSONEncoder() または、JSONDecoder() を使えば、それぞれの処理は簡単に行うことができます。

    func saveData(data: FieldData) {
        guard let data = try? JSONEncoder().encode(data) else { return }
        UserDefaults.standard.setValue(data, forKey: "fieldData")
        UserDefaults.standard.synchronize()
    }

    func getData() -> FieldData? {
        if let data = UserDefaults.standard.data(forKey: "fieldData") {
            return try? JSONDecoder().decode(FieldData.self, from: data)
        }
        return nil
    }

### その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com