iOS
[iOS] TableView, CollectionView 차이점
Peppo
2022. 5. 20. 16:54
728x90
개념
TableView
하나의 열(column)에 배열된 행(row)을 사용해 데이터를 표시하는 뷰
- UIScrollView 상속 받습니다.
- 목록(list)을 나타낼 때 주로 사용되며, 수직 스크롤만 가능합니다.
- 테이블 개별 항목을 구성하는 cell은 UITableViewCell 입니다.
- indexPath값을 통해 cell을 구분합니다.
- 섹션(section)을 이용해 행을 시각적으로 그룹화할 수 있습니다.
- 헤더(header)와 푸터(footer)를 이용해 추가 정보를 보여줄 수 있습니다.
장점
- cell을 재사용할 수 있어, cell을 초기화 하는 부담을 줄일 수 있습니다.
- 메모리를 절약하여 많은 데이터를 효율적으로 표시할 수 있기 때문에, 단순 항목을 표시할 때 유용합니다.
단점
- 여러 디자인 요소를 추가하고 싶을때 제한적 입니다.
- cell을 반환하기 전에 cell의 높이를 미리 계산해 TableView에 전달해야 합니다.
CollectionView
여러 데이터를 관리하고 커스텀 가능한 레이아웃을 사용해 사용자에게 보여줄 수 있는 객체.
- UIScrollView를 상속 받습니다.
- 컬렉션의 개별 항목을 구성하는 cell은 UICollecionViewCell 입니다.
- TableView에서 할 수 있는 것을 모두 할 수 있습니다.
차이점
Cell
TableView | CollectionView | |
cell의 표현방식 | 하나의 열에 여러 행의 cell 표현 | 행과 열을 모두 만들 수 있음 |
스크롤 | 수직 | 수직 / 수평 |
Layout 객체
CollectionView는 레이아웃 객체가 있으며,
flow layout 또는 UICollectionViewDelegateFlowLayout 프로토콜을 통해 원하는 모양으로 레이아웃을 커스텀하여 사용할 수 있습니다.
정리
간단한 데이터를 보여줄 때는 TableView
Cell의 모양을 커스텀하거나, 추후 디자인 수정 가능성이 높다면 CollectionView
728x90