Daily iOS
네트워킹

불안정한 응답 스키마 처리

Codable 로 다음 모델에 응답을 디코딩하는데, 서버가 nickname 필드를 어떤 응답에는 넣고 어떤 응답에는 아예 빼고 보냅니다. 지금 코드에서 무슨 일이 생기나요?

struct Profile: Decodable {
    let id: Int
    let nickname: String
    let tags: [String]
}
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

nickname이 non-optional이라 필드가 없으면 keyNotFound가 던져지고 Profile 전체 디코딩이 실패한다. 배열 응답이면 한 요소 때문에 배열 전체가 실패한다.

받은 질문 공유