본문 바로가기
공부/Apple

[Swift] Codingkey에 모든 키가 있어야 할까?

by 초코팅촉 2024. 12. 2.
728x90
반응형

얼마전에 네트워크 통신과 관련된 공부를 하면서 친구가 아래처럼 코드를 쓰더군요

struct Weather: Codable {
    let id: String
    let temp: Double
    let humanFeel: Double

    enum CodingKeys: String, Codingkey {
        case id, temp
        case humanFeel = human_feel
    }
}

 

그래서 갑자기 든 궁금증이 "id와 temp는 코딩키에 없어도 그냥 디코딩 되는거 아닌가?"

그렇게 찾아본 결과 코딩키를 하나라도 쓰게되면 모든 키가 있어야 한다가 정답이었습니다.
정확히는 코딩키를 쓸 때 기존의 구조체에 쓴 내용이 코딩키에서 빠져도 상관없지만
만약 빠지게 된다면 디코딩에서 제외된다는 거였습니다!

 

이번글은 별 내용은 아니었지만 코딩키에 대해 얘기하는 글에선

항상 별다른 언급없이 그냥 위의 예시코드처럼 쓰거나, 전부 string값이 있더라구요..
그래서 갑자기 궁금해서 찾아보게된 내용이었습니다~

728x90
반응형