Apple Developer Documentation

Data 원본 객체를 사용하여 동적으로 테이블의 셀을 만들고 구성하거나 스토리보드에서 젖ㅇ적으로 제공한다.

Overview

테이블 뷰는 인터페이스의 데이터 기반 요소이다. DataSource 객체(프로토콜을 채택하는 객체)를 사용하여 해당 데이터의 각 부분을 화면에 렌더링하는 데 필요한 뷰와 함께 앱의 데이터를 제공한다. 테이블 뷰는 뷰를 화면에 정렬하고 데이터 원본 객체와 함께 작동하여 해당 데이터를 최신 상태로 유지한다.

테이블 뷰는 데이터를 행(row)과 섹션(column)으로 구성한다. 행은 개별 데이터 항목을 표시하고 섹션은 관련 행을 함께 그룹화한다. 섹션은 필수는 아니지만 계층적인 데이터를 구성하는 좋은 방법이다.

예) 연락처 앱은 행에 있는 각 연락처의 이름을 표시하고 사람 성의 첫 글자를 기준으로 행을 섹션으로 그룹화한다.

Untitled

Provide the numbers of rows and sections

화면에 나타나기 전에 테이블 뷰는 총 행 및 섹션 수를 지정하도록 요청한다. 데이터 원본 객체는 다음 두 가지 방법을 사용하여 이 정보를 제공한다.

// Optional 
func numberOfSections(in tableView: UITableView) -> Int
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int

이러한 메서드를 구현할 때 가능한 하나 빨리 행 및 섹션 수를 반환한다. 그렇게 하려면 행 및 섹션 정보를 쉽게 검색할 수 있는 방식으로 데이터를 구조화해야 할 수 있다.

예) 배열을 사용하여 테이블의 데이터를 관리하는 것을 고려하라. 배열은 테이블 뷰 자체의 자연스러운 구성과 일치하기 때문에 섹션과 행을 모두 구성하는 데 유용한 도구이다.

아래 예제 코드는 다중 섹션 테이블의 행 및 섹션 수를 반환하는 DataSource 메서드의 구현을 보여준다. 이 테이블에서 각 행은 문자열을 표시하므로 구현은 각 섹션에 대한 문자열 배열을 저장한다. 섹션을 관리하기 위해 구현에서는 배열의 배열을 사용한다.