티스토리 뷰

 

Searchbar와 관련된 프로젝트를 하던 도중 해당 동작에 대한 기능의 메서드들이 다 정리되어 있어 가져다 썼었지만, 코드 분석을 하는 도중 왜 같은 tableview인데 쓰임이 다르지?에 대한 의문이 들어 공부하고자 한다.

 

 


override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int)

 

- datasource 메서드에 해당된다. datasource는 tableview를 생성하고 수정하는데 필요한 정보를 테이블 뷰에 저장한다. 즉 데이터를 받아와 뷰를 그린다.

  • 공식문서를 참고하니 numberOfSections가 tableview의 섹션수를 반환하도록 data source에 요청한다고 되어있다.

즉 각 섹션에 표시할 행의 갯수를 표현할 때 사용되는 메서드이며 그래서 첨부한 사진 코드에서 정렬된 데이터를 반환하였다.

 


override func tableview(_ tableview: UITableview, CellFOrROwAt indexPath: IndexPath) -> UITableviewCe11

 

  • 이 메서드 또한 datasource 메서드에 해당한다.
  • 특정 인덱스 row의 cell에 대한 정보를 넣어 cell을 반환하는 메서드다.
  • 공식문서에 따르면 인덱스 경로에 적합한 셀을 생성하고 구성하며 해당 메서드는 테이블 뷰의 dequeueReuseableCell(Identifier:for:)방법을 사용하여 셀을 생성하고 적절한 데이터 값으로 셀의 속성을 업데이트 한다고 한다. 또한 이 메서드를 직접 호출하지 말고 테이블에서 셀을 가져오려면 tableview의 cellForRow(at:)메서드를 대신 호출한다고 한다.

그럼 해당메서드를 사용할 때 항상 dequeueReuseableCell을 사용해야 하는가?
-> 이 부분에 대해서는 다음 포스팅으로 기록해두어야겠다.

 


override func tableView(_tableView: UITableView, didSelectRowAt: IndexPath)

 

  • 해당 메서드는 Delegate에서 사용되는 메서드이다.
  • Delegate 란?
    ->tableview의 시각적인 부분을 설정하고 행의 액션관리, 액세서리 뷰 지원, 테이블 뷰의 개별 행 편집을 도우며 view의 변경사항, 액션들을 담당한다.
  • didSelectRowAt은 행이 선택되었을 때 호출되는 메서드이다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함