UITableView
단일 열에 배열 된 행을 사용하여 데이터를 표시하는 View이다.
Declartion
class UITableView : UIScrollView
OverView
iOS의 TableView는 행으로 분할 된 수직 스크롤 콘텐츠의 단일 열을 표시한다. 테이블의 각 행에는 앱 콘텐츠 하나가 포함된다. 예를 들어 연락처 앱은 각 연락처의 이름을 별도의 행에 표시하고 설정 앱의 메인 페이지에는 사용 가능한 설정 그룹이 표시된다. 하나의 긴 행 목록을 표시하도록 테이블을 구성하거나 콘텐츠를 보다 쉽게 탐색 할 수 있도록 관련 행을 섹션으로 그룹화 할 수 있다.
테이블은 일반적으로 데이터가 고도로 구조화되거나 계층적으로 구성된 앱에서 사용된다. 계층적 데이터를 포함하는 앱은 종종 네비게이션 뷰 컨트롤러와 함께 테이블을 사용하여 다른 계층의 레벨을 쉽게 네비게이팅할 수 있다. 예를 들어 설정 앱은 테이블과 네비게이션 컨트롤러를 사용하여 시스템 설정을 구성한다.
UITableView는 테이블의 기본 모양을 관리하지만 앱은 실제 콘텐츠를 표시하는 셀(UITableViewCell 오브젝트)을 제공한다. 표준 셀 구성은 텍스트와 이미지의 간단한 조합을 표시하지만 원하는 콘텐츠를 표시하는 커스텀 셀을 정의 할 수 있다. header 및 footer를 제공하여 셀 그룹에 대한 추가 정보를 제공 할 수도 있다.
Adding a Table View to Your Interface
인터페이스에 테이블 뷰를 추가하려면 테이블 뷰 컨트롤러(UITableViewController) 오브젝트를 스토리보드로 드래그한다. Xcode는 설정하고 사용할 준비가 된 뷰 컨트롤러와 테이블 뷰를 모두 포함하는 새로운 씬을 만든다.
테이블 뷰는 데이터 기반이며 일반적으로 사용자가 제공하는 data source object에서 데이터를 가져온다. data source object는 앱의 데이터를 관리하고 테이블의 셀을 만들고 구성하는 역할을 한다. 테이블의 내용이 변경되지 않으면 대신 스토리보드 파일에서 해당 내용을 설정 할 수 있다.
테이블의 데이터를 지정하는 방법에 대한 자세한 내용은 Filling a Table with Data를 참조하시오.
Saving and Restoring the Table's Current State
테이블 뷰는 UIKit 앱 복원을 지원한다. 테이블의 데이터를 저장하고 복원하려면 테이블 뷰의 restoreIdentifier 속성에 비어 있지 않은 값을 할당한다. 상위 뷰 컨트롤러가 저장되면 테이블 뷰는 현재 선택되고 보이는 행에 대한 인덱스 경로를 자동으로 저장한다. 테이블의 data source object가 UIDataSourceModelAssociation 프로토콜을 채택하는 경우 테이블은 색인 경로 대신 해당 항목에 대해 제공하는 고유 ID를 저장한다.
앱의 상태 정보를 저장하고 복원하는 방법에 대한 자세한 내용은 Preserving Your App's UI Across Launches를 참조하시오.
[원문]
Apple Developer Documentation
developer.apple.com