# Collection View - Erick, Maxhyunm
### 1. 컬렉션뷰와 테이블뷰의 차이점이 무엇인가
- **스크롤 설정**: `Table View`는 수직 스크롤만 가능하고, `Collection View`는 수직/수평 모두 가능합니다.
- **셀 배치**: `Table View`는 행에 하나의 셀만이 들어갈 수 있고 `Collection View`는 한 행에 한 개 이상의 셀을 넣을 수 있습니다.
- **레이아웃 설정**: `Table View`는 기본적으로 제공되는 스타일이 존재하고, `Collection View`는 `UICollectionViewLayout`을 상속받은 객체를 통해 레이아웃 설정을 할 수 있습니다.
- `UICollectionViewLayout`의 경우 직접 상속받아 커스터마이징 레이아웃을 생성할 수도 있고, 애플에서 제공하는`UICollectionViewFlowLayout`, `UICollectionViewTransitionLayout` 등을 활용하여 쉽게 레이아웃 설정을 할 수도 있습니다.
- **활용**: 한 행을 길게 쓰는 `Table View` 같은 경우는 텍스트 위주의 데이터를 나열할 때 활용하기 좋고, `Grid View`를 구현할 수 있는 `Collection View`의 경우 이미지 데이터를 나열할 때 활용하기 좋습니다.
### 2. 각 앱의 화면을 테이블뷰로 구현하는 것이 좋을지, 컬렉션뷰로 구현하는 것이 좋을지 그 이유에 대해 의논해봅시다
|페이스북 - 타임라인|
|:-:|
|<img src="https://hackmd.io/_uploads/HJj9s5oqn.png" width="300">|
|선택 : `CollectionView`|
|타임라인의 전체 리스트는 `TableView`로도, `CollectionView`로도 활용 가능한 형태라고 생각되지만 복수의 이미지가 포함된 게시물의 경우 이미지 수량에 따라 각기 다른 레이아웃의 `GridView`로 분할되어 표시되는 지점에서 내부적으로 `CollectionView`가 적용되고 있다고 생각했습니다.|
|인스타그램 - 타임라인|
|:-:|
|<img src="https://hackmd.io/_uploads/HkAvnqoq2.png" width="300">|
|선택 : `CollectionView`|
|인스타그램 역시 페이스북과 마찬가지로 전체 리스트는 `TableView`로도, `CollectionView`로도 볼 수 있을 것 같습니다. 하지만 타임라인에 뜨는 추천 릴스 기능이 있는데 이는 가로 스크롤을 통해 여러 셀을 볼 수 있다는 점에서 `CollectionView`가 적합하다고 생각되었습니다.|
|미리 알림 앱 - 메인화면|
|:-:|
|<img src="https://hackmd.io/_uploads/SkDFn9sch.png" width="300">|
|선택 : `CollectionView`|
|한 행에 두 가지 데이터가 블록 형식으로 표시되고 있기 때문에 `CollectionView`가 적합하다고 생각됩니다.|
|미리 알림 앱 - 목록화면|
|:-:|
|<img src="https://hackmd.io/_uploads/rycqn5j53.png" width="300">|
|선택 : `TableView`|
|하나의 행 안에 한 가지 데이터만 들어가는 점, 모든 행의 `Radio` 버튼 위치와 `Textfield` 위치가 동일한 점을 보았을 때 `TableView`라고 생각했습니다.|
|iPhone App Store의 투데이 화면|
|:-:|
|<img src="https://hackmd.io/_uploads/BJCPh9och.png" width="300">|
|선택 : `CollectionView`|
|화면의 셀들이 모두 동일한 셀이 아닌 커스텀하게 만들어진 것 같은 셀들이 모여있어 셀의 커스텀이 더 자유로운 `CollecionView`를 이용했다고 생각했습니다.|
|시계 앱의 알람 목록화면|
|:-:|
|<Img src="https://hackmd.io/_uploads/SJf-jciqn.png" width="300"/>|
|선택 : `TableView`|
|시간만 달라지며 반복되는 하나의 셀이 한 열에 구성되어 있어 `TableView`라고 생각했습니다.|