Table View란?
Table View는 사용자 정의 가능한 데이터를 행과 섹션으로 분할된 단일 열에 표시하는 것이다. 예로는 항목들이 나열된 화면으로 메세지, 연락처, 메모장 등이 있습니다.
정적 테이블 뷰 : 동적 테이블 뷰
테이블 뷰에는 정적 테이블 뷰와 동적 테이블 뷰 두 가지가 있습니다.
- 정적 테이블: 고정된 개수의 행들이 테이블에 표시되는 형태로 설정 페이지와 같습니다.
- 동적 테이블: 가변적으로 행들의 개수가 표시, 추가 삭제 수정이 가능합니다.
DataSource, Delegate
- DataSourece: 테이블에 무엇을 표시할 것인지 물어보는 것으로 타이틀 정보, 데이터 정보, 데이터 표시 수량, 영역의 개수와 같은 테이블 뷰에 대한 기본적인 메서드들을 정의하는 UITableView DataSource 프로토콜을 구현합니다.
- Delegate: 아이폰, 테이블 뷰가 프로그래머 개발자에게 결정을 위임해주거나, 어떻게 표시 해야하는지와 같은 정보를 물어보는 것으로 표시되는 모습 제어, 사용자의 터치에 대한 인식, 행의 높이, 들여쓰기, 행 삭제 수정과 같은 기능을 제공하는 UITableView Delegate 프로토콜로 구현합니다.
메서드
어떤 클래스가 테이블 뷰 컨트롤러를 위한 데이터소스의 역할을 하기 위해선 여러 메서드가 구현되야 합니다.
- numberOfSectionsInTableView 메서드
- 테이블의 섹션 개수를 반환해주는 메서드입니다.
- numberOfRowsInSection 메서드
- 테이블에서 표시될 행의 개수를 반화해주는 메서드입니다.
- 테이블 뷰에서는 보통 배열의 항목을 반환해주는 역할로 사용됩니다.
- cellForRowAtIndexPath 메서드
- 클래스의 인스턴스를 반환하는 즉, 필요한 셀 객체의 행을 가리키는 인덱스 값을 전달하는 역할을 합니다. 이 메서드에 전달된 인덱스 값을 기반으로 데이터 배열에서 정확한 데이터를 추출시킵니다. 또한 테이블 뷰 컨트롤러가 표시할 새로운 셀을 필요로 할 때마다 이 메서드를 호출합니다.
출처
https://www.youtube.com/watch?v=F5WhaFcK9sg
https://www.youtube.com/watch?v=AG5u4wtMdB4&t=902s
https://www.youtube.com/watch?v=Lgj_KjNLeVw
https://seagreen83.tistory.com/120