반응형
CodingKey
A type that canbe used as a key for encoding and decoding.
인코딩 및 디코등을 위한 키로 사용될 수 있는 타입
protocol CodingKey : CustomDebugStringConvertible, CustomStringConvertible, Sendable
CodingKey 사용하는 경우
Swift에서는 변수나 상수를 선언할 때 카멜케이스를 사용한다.
그런데 예를 들어 JSON 에서 스네이크 케이스를 사용하는 경우, 다음과 같이 내려받은 JSON 키 "actual_price" 와 Items 구조체에서 선언해준 "actualPrice" 키가 일치하지 않을 수 있다.
이런 경우 CodingKey를 사용하여 키를 변환(?) 연결(?) 해주면 문제없이 디코딩해줄 수 있다.
struct Items: Codable {
let id: Int
let name: String?
let price: Int?
let actualPrice: Int?
enum CodingKeys: String, CodingKey {
case id, name, price
case actualPrice = "actual_price"
}
}
728x90
반응형
'Swift iOS 앱 개발 > Swift' 카테고리의 다른 글
[Swift] Class의 성능을 향상시킬 수 있는 방법 (0) | 2022.12.02 |
---|---|
[Swift] Optional 옵셔널이란? (0) | 2022.12.01 |
oop vs pop (0) | 2022.11.17 |
[Swift] Generic (0) | 2022.11.16 |
[Swift Layout] FlexLayout (0) | 2022.10.04 |