UITableViewDataSource - 테이블 뷰 생성, 데이터를 받아 view를 그려주는 역할
- numberOfRowsInSection: 나타낼 cell의 갯수 정의 - 필수
- cellForRowAt: cell을 어떤식으로 나타낼건지 (어떤 데이터를 활용하여 나타낼것인지) - 필수
- numberOfSections: 총 섹션의 갯수 정의
- titleForHeaderInSection: 특정 섹션의 헤더 타이틀 정의
- titleForFooterInSection: 특정 섹션의 풋터 타이틀 정의
- canEditRowAt: 특정 위치의 행의 편집 가능여부 정의
- canMoveRowAt: 특정 위치의 행을 터치로 재정렬 가능여부 정의
true로 반환시에 편집모드 들어갈경우 행의 위치를 사용자 마음대로 변경할 수 있음 - moveRowAt: 행이 다른위치로 이동되면 이동경로 알려주는 메소드
canMoveRowAt에서 true로 변경되어 사용자가 edit환경에서 행의 위치를 임의로 변경할 때
해당 행의 원래 위치(sourceIndexPath)에서 destinationIndexPath로 변경 위치를 알려주는 메소드 - sectionIndexTitles: 테이블뷰 섹션 인덱스 타이틀을 물음
- sectionForSectionIndexTitle: 인덱스에 해당하는 섹션을 알려주는 메소드
- commit: 스와이프 모드, 편집모드에서 버튼 선택시 호출(해당 메소드에서 행의 변경사항을 commit 해야함)
UITableViewDelegate - 행의 Action관리, 테이블 뷰의 개별 행 편집 도움
DataSource와 다르게 필수구현 메소드 없음
- didSelectRowAt : 해당 cell 선택시에 실행
- didDeselectRowAt: 해당 cell 선택해제시에 실행
- heightForRowAt: 행의 높이 설정
- viewForHeaderInSection: 지정된 섹션의 헤더에 표시될 뷰 설정
- viewForFooterInSection: 지정된 섹션의 풋터에 표시될 뷰 설정
- heightForHeaderInSection: 지정된 섹션의 헤더 높이 설정
- heightForFooterInSection: 지정된 섹션의 풋터 높이 설정
- editingStyleForRowAt : 테이블뷰 컨텐츠의 수정 편집기능 제공
편집모드에서 삭제버튼 클릭시 선택된 cell이 어떤cell인지 알려줌
보통 해당cell에서 해당cell 삭제를 구현함 - willBeginEditingRowAt: 테이블뷰가 편집모드에 들어갈 때 호출
- didEndEditingRowAt: 테이블뷰가 편집모드에서 나올때 호출
- willDisplay: 테이블뷰의 셀에 표시될 때 호출
- didEndDisplaying: 셀이 화면에서 사라지면 호출
'Swift(IOS)' 카테고리의 다른 글
| [내용정리] Swift - JsonArray와 JsonObject의 차이 (0) | 2022.02.03 |
|---|---|
| [내용정리] Swift - closure(클로저)란? (1/2) (0) | 2022.02.03 |
| [내용정리] Swift - 코드로(Programmatically) 검색기능 구현 (0) | 2022.01.13 |
| [내용정리] Swift - URLSession 이란? (0) | 2022.01.11 |
| [오류처리] Swift - Add a new account in the Accounts preference pane or verify that your accounts have valid credentials. (0) | 2022.01.04 |