UIScrollView
를 상속했기 때문이었다는 것이다.UITableViewDelegate
과 UITableViewDataSource
의 역할을 분명히 구분하는 것도 중요하다고 생각된다.UITableViewDelegate
은 공식 문서에 따르면, '선택된 사항의 관리 / 섹션의 위 아래 공간 / 셀의 삭제와 재배열 / 기타 동작' 등을 구현한다고 한다.didSelectRowAt
. 해당 row의 셀을 선택했을 때 트리거되는 메서드다. UITableViewDataSource
는 공식 문서에 따르면, 테이블 뷰를 위한 데이터를 관리하고 셀을 제공하기 위한 메서드다.cellForRowAt
과 numberOfRowsInSection
이 바로 UITableViewDataSource
에 있는 함수.UITableView
. 그런 만큼, 테이블 뷰를 다룰 때 어느 메서드에서 어느 메서드로 흐름이 옮겨가는지 잘 알아야겠다고 느꼈다.https://developer.apple.com/documentation/uikit/uitableview
https://developer.apple.com/documentation/uikit/uitableviewdelegate
https://developer.apple.com/documentation/uikit/uitableviewdatasource