TableView 기초

hoBahk·2021년 12월 22일
0

TableView

목록 보기
1/4
post-thumbnail

오늘은 테이블뷰에 대해서 공부하도록 하겠습니다.
기초만 알아보도록하고 다음글에서 계속 이어나가겠습니다.

테이블뷰는 아이템을 리스트화해서 보여주는 뷰입니다.
테이블뷰는 행과 섹션으로 분할되어 있고, 세로로 스크롤하여 볼 수 있도록 단일 열의 행들을 보여줍니다.
아이폰의 기본앱인 연락처나 설정은 테이블 뷰로 만들어져있습니다!

테이블뷰는 크게 두가지의 프로토콜이 필요합니다.

UITableViewDataSource


데이터를 관리하고 테이블뷰의 셀에 데이터를 제공하기 위한 메서드들을 제공합니다.


테이블뷰는 데이터를 보여주는 것만 관리하고 데이터 자체를 관리하지는 않습니다.
그래서 UITableViewDataSource를 프로토콜을 구현하여 데이터를 관리합니다.
데이터소스는 테이블의 데이터 관련한 요청에 응답합니다. 또한 테이블의 데이터를 직접 관리하거나, 앱의 다른 부분들과 조정하여 해당 데이터를 관리합니다.

  • 테이블의 섹션과 행의 수를 보고?(Reporting)합니다.
  • 테이블의 각 행에 셀을 제공합니다.
  • 섹션 header 및 footer 제목을 제공합니다.
  • 테이블의 인덱스를 구성합니다.
  • 근본적인(underlying) 데이터를 변경해야 하는 사용자 또는 테이블의 초기 업데이트에 응답합니다.

UITableViewDelegate

섹션 관리, 섹션 header 및 footer 구성, 셀 삭제 및 순서 변경, 테이블뷰의 다른 액션을 수행하는 메서드를 제공합니다.

UITableViewDelegate 프로토콜을 통해 사용할 수 있는 기능은 아래와 같습니다.

  • 커스텀한 header 및 footer 뷰를 만들고 관리할 수 있습니다.
  • 행, header, footer에 커스텀한 높이를 지정할 수 있습니다.
  • 더 나은 스크롤 지원을 위해 높이 추정치를 제공합니다.
  • 행 내용(content)을 indent(들여쓰기?)합니다.
  • 행을 선택에 반응합니다.(이벤트 발생 처리)
  • 테이블 행의 스와이프 및 다른 액션들에 반응합니다.(이벤트 발생 처리)
  • 테이블 콘텐츠 수정을 지원합니다.



오늘은 TableViewDataSouce와 TableViewDelegate에 대해서 간단하게만 문서를 통해 공부했습니다.
다음에는 어떤 메서드가 있는지 사용법에 대해 공부하고 예제로 만들어보겠습니다.

profile
호박에 줄 그어서 수박 되는 성장 드라마

0개의 댓글