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

Jenny·2021년 3월 3일
2

이번 Section에서는 TableView의 동작방식과 화면에 Cell을 출력하기 위해 최소한 구현해야 하는 DataSource 메서드를 설명해 보겠습니다.

  • UITabelViewDelegate
    UITableView Delegate 객체는 UITableViewDelegate 프로토콜을 채택합니다.
    UITableView Delegate는 모양과 동작을 관리하기에 (MVC Model - View - Controller) 디자인 패턴 중, Controller 와 관련이 있습니다.
    Delegate는 테이블 뷰의 시각적인 부분 수정, 행의 선택 관리, AccessoryView 를 지원합니다 그리고 테이블 뷰의 개별 행 편집을 도와줍니다.
    UITableViewDelegate메소드는 위와 같습니다.(이 중 필수로 구현하는 메소드는 없습니다.)
// 지정된 행이 선택 되었다는걸 알리는 메서드
@available(iOS 2.0, *)
optional func tableview(UITableView, didSelectRowAt: IndexPath)

// 지정된 행이 선택해체 되었다는걸 알리는 메서드
@available(iOS 2.0, *)
optional func tableView(UITableView, didDeselectRowAt: IndexPath)

// 특정 위치 행의 높이를 묻는 메서드
@available(iOS 2.0, *)
optional func tableView(UITableView, heightForRowAt: IndexPath)
  • UITableViewDataSource
    UITableView DataSource 객체는 UITableViewDataSource 프로토콜을 채택합니다.

    DataSource는 UITableView 를 생성하고 수정하는데 필요한 정보를 UITableView 객체에 제공합니다.

    DataSource는 데이터 모델의 Delegate로, UITableView의 시각적 모양에 대한 최소한의 정보를 제공합니다.

    UITableView 객체에 색션 수행의 수를 알려주며, 행의 삽입,삭제 및 재정렬 하는 기능을 선택적으로 구현할 수 있습니다.

    UITableViewDelegate 메소드와 다르게 UITalbleViewDataSoure 필수 메소드는 optinal이라고 명시되어 있지 않다.

// 섹션에 표시할 행의 개수
@available(ios 2.0, *)
func tableview(_ tableView: UITableView, numberOfRowInSection section : Int) -> Int

@available(ios 2.0, *)
// 특정 위치에 표시할 셀을 요청하는 메서드
func tableview(_ tableView: UITableView, cellForRowAt indexPath : IndexPath) -> UITableViewCell

profile
"Jenny 있게 iOS 개발을 하며 성장해 나아가자"

0개의 댓글