오늘 보충학습 챌린지반 세션이 있었다.
- 주제 : 과제 라이브 코딩 및 코드리뷰
- MVC 사용
- TableView loadMore 알아보기
- Alamofire 사용법 알아보기
시작전 올려주신 오늘의 주제!
실제 수업에서는 전 시간에 내주신 깃허브 프로필 페이지 제작하는 것을
라이브코딩으로 설명해주시면서 몇몇 팁들을 알려주셨다.
그중에 메모해둔 것들이다
- spm을 통한 방식은 그냥 깃헙 링크를 포함해도 된다!
- api를 크롬창에서 확인하여 필요한 데이터 확인 -> 모델을 만들 때 도움이 된다!
- http 메서드
- Get, Post <- 무조건 알아야함
- Get, Post <- 차이점에 대해서 알아두면 좋다
- Put, Delete, Patch <- 이런것도 있는걸 알아두면 좋다- tableview.reloadData는 비효율적임 다른 방식은 추후 설명
- 오토레이아웃 Priority Huggin vs Compression 알아보면 좋다
- 셀의 섹션을 나눠서 테이블뷰 셀을 2개사용하여 만듦
- loadMore함수로 페이징 처리
내가 전에 spm
쓰는 법에 대해서 간략하게 작성한 글이 있는데
거기선 제작자가 만든 spm
섹션에 있는 링크를 사용하라고 적었다
근데 오늘 라이브코딩에서 튜터님이 그냥 그페이지의 링크를 써도 된다고 하셨다
더 간편한 방법을 알게됨!
이번에 Alamofire
를 쓰면서 어떤 데이터를 가져오는지 찾아볼 때 좀 헤맸는데
api링크였나? 그것을 크롬창에 띄우면 실제로 어떤 변수에 어떤 데이터가 들어오는지 확인할 수 있다. 그것을 통해 데이터모델을 작성하는게 더 효율적인거같다
다음에 작성할때 해봐야지!
urlSession
파트에서 말씀해주신건데
Get
과 Post
는 무조건 알아야한다고 말씀하셨다! 그리고 둘의 차이점에 대해서도 알아두면 좋다고 하셨고, Put
, Delete
, Patch
는 이러한 점이 있다~ 라는것을 알아두어야 한다고 했다. 이 메서드 관련해서는 한번 정리를 해봐야겠다
아 이 메서드를 사용하는것이 비효율적이라고 말씀하셨다
전 프로젝트 진행때도 같은 팀원분께 얘기를 들었던것같은데
시간상 자세히 설명은 못해주시고 넘어갔다
이 부분은 1:1 코드리뷰때 다시 여쭤보고 설명을 들어야겠다
이건 오토레이아웃을 잡는 상황에서 나왔던 주제
양쪽 끝에 있는 레이블의 간격을 잡으니까 어떤 label
의 크기를 조정할 것이냐?
라는 상황에서 나왔다 여기서 정해지는 우선순위에 따라서 어떤 label
이 조정될것인지 정해지는것같다.
나의 경우는 UIView
와 UITableView
이 2개로 화면을 구성했다
UIView
에 프로필이미지나 사용자 관련된 정보를 띄워주고
UITableView
에 리포지토리 정보를 띄우도록 했다
반면에 튜터님은 셀을 2개로 나눠서 1개는 프로필 관련 정보를 나머지를 리포지토리 정보를 담아서 테이블뷰로 전체 화면을 구성하셨다.
신박해서 아마 리팩토링?이나 개인적으로 할때 시도해볼법 한거같다
자신의 리포지토리 데이터를 다 불러오면 아마 셀이 몇개 없어서 금방 끝날것이다.
근데 여기서 loadMore
라는 함수를 작성하여 다음 페이지도 넘어가는 작업을 하셨다
이것도 리팩토링때 해봐야겠다! 앞으로도 쓸일이 무조건 있을거같다