Type 'Object' does not conform to protocol 'Decodable'
Type 'Result' does not conform to protocol 'Encodable'
이는 Codable을 채택한 오브젝트내의 저장속성이 Codable을 채택한 타입이 아니라서 오브젝트가 자동으로 Codable을 채택한것이 아니라서 직접 Decodable과 Encodable을 구현해주어야 한다.
자동으로 Codable 프로토콜 준수
Codable을 채택한 Class 또는 Struct의 저장속성이 전부 Codable을 채택한 타입으로 선언하면 따로 Decodable과 Encodable을 정의해주지 않아도 자동으로 Codable 프로토콜을 따르게 된다 Codable을 지원하는 타입은 Int, Double, String, Data, Date, Url등과 같이 Foundation 타입이다
UIImage와 같이 UIKit의 타입들은 Codable을 채택하고 있지 않기 때문에 오류가 발생한다
CodingKey
Swift에선 카멜 표기법을 사용한다. 하지만 Json데이터를 보면 스네이크 표기법을 사용하는 경우가 많다