[Swift]CodingKeysの役割
SwiftでAPIを使ったコードを書く時に、APIに基づいてモデルを作成することになる。
色々なサンプルコードを見てると、CodingKeysが記載されたものと、されていないものが出てくる。この違いはなに?という部分の備忘録。
APIをベースにモデルを作成
簡単に以下のようなものを書いてみる。
struct Post: Codable
id: Int
title: String
publishedData: Date
structでAPIで受け取る情報のモデルを作成してやる。ここまでは理解できるのだけど、サンプルコードによっては、続けて以下のようなものがある。
struct Post: Codable
id: Int
title: String
publishedDate: Date
enum CodingKeys: String, CodingKey {
case id = "post_id"
case title
case publishedDate = "published_date"
}
よくよく調べてみるとCodingKeysはEncodeとDecodeでキー名が違う時に対応させる必要があるので、その時に使うらしい。なるほど。
https://qiita.com/s_emoto/items/deda5abcb0adc2217e86