선택 이벤트 처리
- 테이블 뷰는 델리게이트에게 이벤트가 발생했다는 것만 알려줌
- 이벤트를 처리해주는 델리게이트가 필요하다.
- 보통은 데이터소스로 지정한 객체가 델리게이트 역할까지 담당
- 보통
will
, did
가 포함된 이름의 메소드가 많다.
델리게이트 연결
![](https://velog.velcdn.com/images/rudin_/post/738be074-0507-40c8-9da2-cf86f8b54979/image.png)
UITableViewDelegate
![](https://velog.velcdn.com/images/rudin_/post/6ffc0385-d196-4dc0-9de1-60cd95703788/image.png)
역할
- footer, header 생성 및 관리
- row의 높이, footer, header 커스텀
- 들여쓰기
- 셀 선택 응답
- 셀 액션
- 셀 내용 편집
참고) Apple Developer Article
![](https://velog.velcdn.com/images/rudin_/post/dc1808b0-1fc0-4db3-ae5a-1b0a056d56ff/image.png)
didSelectRowAt
![](https://velog.velcdn.com/images/rudin_/post/c4c03e49-677b-47ed-bbeb-0366dbeef7ff/image.png)
- optional
- 테이블뷰에서 선택 이벤트를 처리할 때 보통 이 메소드를 구현
- 터치 이벤트가 발생했을 때, 테이블 뷰가 이 메소드를 호출
- 선택할때마다 반복적으로 호출된다.
멀티 섹션 테이블 뷰
numberOfSections
![](https://velog.velcdn.com/images/rudin_/post/3007d977-8520-4692-9318-3f9da6a9d7ac/image.png)
호출 분석
![](https://velog.velcdn.com/images/rudin_/post/f99e51d4-2ece-405a-ac05-7b651fc57e9a/image.png)
- #3 numberOfSections를 호출해 섹션의 개수 파악
- 이제 각각의 섹션에 몇 개의 row를 표시해야 하는지 #1 을 호출해 파악
- #2가 6번 호출. 처음 3개는 첫번째 섹션에, 뒤의 3개는 두번째 섹션에 표시된다.
섹션마다 디자인을 다르게 하고 싶은 경우
- 프로토타입 셀 하나 더 추가
- 섹션 인덱스에 따라 적절한 셀을 deque하도록 구현
섹션 두 개 예제
![](https://velog.velcdn.com/images/rudin_/post/5627cc6a-e40f-49c4-988f-d24f23425ecd/image.png)
1. numberOfRowsInSection
에서 section
에 따라 구현
2. cellForRowAt
에서 indexPath.section
에 따라 구현
실행 화면
![](https://velog.velcdn.com/images/rudin_/post/9a2334c4-f2ce-4bb2-9bf7-bfc6072af3e7/image.png)
- 테이블뷰 기본 스타일에서는 섹션 사이 기본 여백이 없다.
멀티 섹션 선택 이벤트
![](https://velog.velcdn.com/images/rudin_/post/2db32018-04fb-42c7-87a0-86d8debe49db/image.png)
switch
문으로 section에 따른 선택 분기를 마련