안녕하세요 레이! @sungju-kim @sally4405 입니다! decoding error 해결하는데 대부분의 시간을 쏟아가지구 작업 내용이 많지 않네요! Convention에 여러모로 만전을 기하고 있지만 생각보다 쉽지않습니다 ㅠㅠ # 작업내용 - [x] Convention 정리 - [x] entity 필요한 프로퍼티만 남기고 정리 - issue, label, milestone - [x] Entity -> Domain 구현 - [x] api로 받아온 데이터를 이슈 뷰에 연결 # 결과물 |Github Login|로그인 후 이슈 목록 화면|label 제외하고 api 적용한 issue 목록| |:---:|:---:|:---:| |<img width="320" src="https://user-images.githubusercontent.com/45891045/174039413-94a1ab02-f07c-4cc7-a8c1-3c61ef4d4e3c.gif">|<img width="320" src="https://user-images.githubusercontent.com/45891045/174039532-6bc831aa-e0c4-4914-8e98-899c063d0398.gif">|<img width="320" src="https://user-images.githubusercontent.com/45891045/174985507-b6b54dda-366b-4ea2-93cb-3509fba87aa5.gif">| # 고민과 해결 - intrinsicContentSize 문제 ![](https://i.imgur.com/5ZBA2XG.png) UILabel의 경우 intrinsicContentsize가 있기때문에 따로 height를 잡아주지 않아도 되었습니다. - issue entity decoding 문제 - issue 디코딩 과정에서 디코딩 fail이 반복적으로 있었습니다. - insomnia를 통해 api를 호출했을 때는 정상적으로 데이터가 받아와져 JSONDecoder.decode 과정에서 문제가 있을 것으로 판단했습니다. - 기존에 IssueEntity 에서 `milestone: Milestone` 으로 사용하고 있었는데, milestone 값을 디코딩하는 과정에서 nil값은 `Milestone`으로 디코딩이 되지 않아서 생기는 문제였고 `milestone: Milestone?` 으로 변경하여 옵셔널로 선언했습니다. - 이후 페어가 시뮬레이터를 돌릴 때 뷰가 그려지지 않는 문제가 또 있었는데, body나 labels도 nil인 경우 decoding이 안될 수 있다고 판단, body, labels도 옵셔널로 바꾸어 문제를 해결했습니다.