티스토리 뷰

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