iOS/Swift실전

[iOS] Swift 테이블 뷰 table view

Sweetft 2022. 1. 17. 15:17

기본적으로는 Table View Controller을 사용하지만 오늘은 이해를 위해 View에 Table View를 추가!

 

 

Table View를 뷰에 꽉 채우기 위해 Constraints를 추가한다.

모든 방향에 0, 그리고 Constrain to margins도 체크를 해제하자.

 

 

아웃렛 변수 설정까지 고!

 

 

UITableViewDelegate, UITableViewDataSource 두 가지 프로토콜을 채택하자.

여기서, UITableViewDelegate만 채택했을 때는 오류가 뜨지 않는다. why? 이 프로토콜은 필수 메소드가 없기 때문!

 

 

XCode의 fix 기능을 사용하여 UITableViewDataSource의 필수 메소드를 추가해준다.

 

 

테스트용 코드

여기서 viewDidLoad 메소드에 들어가 있는 코드인

table.dataSource = self

table.delegate = self

라는 코드가 없으면 이 테이블뷰는 제대로 동작하지 않는다.

 

이는 우리가 해당 프로토콜들을 "뷰 컨트롤러"에서 보여주기 때문이다.

이는 뷰가 제대로 기능하기 위해 권한을 부여하는 것이라고 할 수 있다. (대리자 위임)

 

 

numberOfSections 메소드 추가

 

 

index path란 어떤 것인지 확인할 수 있음.

 

 

이미지까지 추가!

 

 

만약 table view가 마음에 들지 않으면 직접 table view cell을 사용하자.

 

새로운 swift 하나 만들기

 

myCell의 identity inspector에서 새로 만든 swift파일로 클래스 연결해주기

 

label 추가 후 constraint까지 지정

 

 

디자인 변경

 

 

MyTableViewCell.swift에 label 아웃렛 변수 선언

 

 

ViewController.swift에서 코드 변경

 

 

시뮬레이터 실행 화면

 

 

테이블 셀을 선택하면 그 셀의 index path가 출력되는 코드

 

 

시뮬레이터를 실행하고 테이블 셀을 선택하면 이렇게 콘솔 창에 index path 값이 출력된다.

 

 

참고 : iOS프로그래밍실무(21년-1학기) 한성현 교수님 강의 및 강의 자료 변형, 요약