상세 컨텐츠

본문 제목

Guide to Swift Codable. Chapter1: First Flight

TIL/Swift Codable

by box-jeon 2018. 4. 21. 14:01

본문

https://gumroad.com/l/codable

(티스토리에 오픈그래프를 넣으려면 어떻게 해야 하는가...)


Mattt Thompson(https://mat.tt)이 Flight School이라는 새로운 프로젝트를 시작하는 모양입니다.



그의 명성도 명성이지만 Codable이라니... 줄 서 있는 책들이 많지만 유혹을 떨칠 수가 없었습니다. 작년에 Codable이 처음 소개 되었을 때 일에 바로 적용해보았지만, 몇 가지 케이스들이 해소가 안되고(못하고) 레퍼런스가 부족해서, 후일을 기약하며 롤백한 적이 있습니다. 현재 Object Mapper(https://github.com/Hearst-DD/ObjectMapper)를 사용 중이고 대체로 만족하고 있지만, encoding과 decoding을 분리해서 정의할 수 없는 점, encoding 지점과 decoding 지점이 명시적이지 않은 점은 개인적으로 아쉬운 부분이라고 생각합니다. 그리고 실제 사용자가 인지할 수 있는 수준은 아닐 거라고 생각하지만, 다른 라이브러리에 비해 속도가 느린 것도 감점 포인트네요(https://github.com/bwhiteley/JSONShootout#performance). 여튼 Standard Library가 JSON Parser를 제공한다는데 사용해보지 않을 이유가 없겠죠.


Chapter 1은 애플 API 문서에 나와있는 정도의 예제를 가볍게 소개하고 있습니다. Swift Standard Library와 Foundation Framework에 있는 대부분의 type들은 Codable을 conform하고 있습니다. Swift 4에서 추가되었다는 conditional conformance도 확인할 겸, Array와 Dictionary, Set의 Decodable conformance 부분도 같이 옮겨둡니다.



관련글 더보기

댓글 영역