UITableView의 UITableViewDelegate
, UITableViewDataSource
프로토콜에 대해 알아보자.
TableView를 사용하면 필수적으로 채택해야하는 프로토콜들이다.
먼저, UITableViewDelegate
프로토콜은 애플 개발자 문서에서는 다음과 같은 상황을 관리하기 위해서 이 프로토콜을 사용할 수 있다고 한다.
순서대로 보면,
위와 같은 작업을 할 경우 UITableViewDelegate
프로토콜 내의 함수들을 이용해서 처리할 수 있다.
이 프로토콜은 데이터 관리가 아닌 데이터 출력의 관리를 담당하고 있다. 테이블의 데이터 관리 요청에 따라서 응답하게 된다. 이 외에도 다음과 같은 일을 한다.
이 프로토콜에서 필수로 구현해야하는 메서드는 다음과 같다.
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// 섹션의 열의 수를 반환하는 메서드
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// 해당 열의 셀을 반환하는 메서드
}
이 두 가지 메서드는 필수로 생성을 해야한다. 하기 싫어도 에러가 나타나서 빨간 버튼을 누르면 자동으로 생성해 줄 것이다.
ios10 버전 이상부터 지원하는 프로토콜이다. 앞으로 발생할 데이터 요구사항에 대해서 사전 경고를 제작해서 실행할 데이터 작업을 조기에 시작하도록 하는 프로토콜이다. 간단하게 cellForRowAt
매개변수를 갖는 메서드가 호출되기 전에 먼저 실행되어서 셀의 데이터를 미리 로딩하는 프로토콜인데 다음번에 주제로 다시 정리해보도록 하겠습니다!!