Search
Duplicate

TableView를 동작 방식과 화면에 Cell을 출력하기 위해 최소한 구현해야 하는 DataSource 메서드를 설명하시오.

생성일
2023/10/17 01:54
태그
iOS
UIKit

TableView를 동작 방식과 화면에 Cell을 출력하기 위해 최소한 구현해야 하는 DataSource 메서드를 설명하시오.

TableView의 동작 방식과 화면에 Cell을 출력하기 위해 최소한 구현해야 하는 DataSource 메서드

UITableViewDelegate

UITableView Delegate 객체는 UITableViewDelegate 프로토콜을 채택한다.
UITableView Delegate는 모양과 동작을 관리하기에 (MVC, Model - View - Controller) 디자인 패턴중, Controller와 관련이 있다.
Delegate는 테이블 뷰의 시각적인 부분 수정, 행의 선택 관리, AccessoryView를 지원한다. 그리고 테이블 뷰의 개별 행 편집을 도와준다.
UITableViewDelegate 메서드느 위와 같다. (이 중 필수로 구현하는 메서드는 없다)
// 지정된 행이 선택 되었다는 걸 알리는 메서드 optional func tableView(UITableVIew, didSelectRowAt: IndexPath) // 지정된 행이 선택해제 되었다는 걸 알리는 메서드 optional func tableView(UITableView, didDeselectRowAt: IndexPath) // 특정 위치 행의 높이를 묻는 메서드 optional func tableView(UITableView, heightForRowAt: IndexPath)
Swift
복사

UITableViewDataSource

UITableView DataSource 객체는 UITableViewDataSource 프로토콜을 채택한다.
DataSource는 UITableView를 생성하고 수정하는데 필요한 정보를 UITableView 객체에 제공한다.
DataSource는 데이터 모델의 Delegate로, UITableView의 시각적 모양에 대한 최소한의 정보를 제공한다.
UITableView 객체에 섹션 수와 행의 수를 알려주며, 행의 삽입, 삭제 및 재정렬 하는 기능을 선택적으로 구현할 수 있다.
UITableViewDelegate 메서드와 다르게 UITableViewDataSource 필수 메소드는 optional 이라고 명시되어 있지 않다.
// 섹션에 표시할 행의 개수 func tableview(_ tableView: UITableView, numberOfRowInSection section: Int) -> Int // 특정 위치에 표시할 셀을 요청하는 메서드 func tableview(_ tableView: UITableVIew, cellForRowAt indexPath: IndexPath) -> UITableViewCell
Swift
복사