23.08.16 swiftUI tableView 개념 정리

2023. 8. 17. 01:31IOS [ 개념정리 ]

TableView

- 세로로 스크롤되는 콘텐츠 행들을 표시함. ( UIScrollView 상속받아서 스크롤이 가능한거임 )

- 각 행의 콘텐츠를 표시하는 cell로 구성된다.

⬆️예시 이미지

(위의 사진처럼 각각의 행이 cell이며 cell이 모여서 tableView가 구성된다)

- 세가지의 Cell 스타일을 가지고있다.

 

차례대로 plain , grouped , insetGrouped 스타일이다.

출처 : https://inuplace.tistory.com/1174

출처 :  https://inuplace.tistory.com/1174

스타일 지정법은 다음과 같다.

var tableView = UITableView(frame: .zero, style: .insetGrouped)

 

- UITableView를 생성했으면 이 테이블뷰에 다른데서 받는 데이터를 넣어주어야하는데 , 그걸 UITableViewDataSource로 해결한다.

 

데이터 소스를 넣을때 써줄 메서드는 다음 두가지이다.

 

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int

이 코드의 역할은 TableView의 각 Section이 몇개의 row를 포함시키는지를 묻는 메서드이다.

 

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)

이 코드의 역할은 Cell을 본격적으로 생성하는 역할이다. 

indexPath에는 현재 생성하려는 cell이 몇번째 section의 몇번째 row인지에 대한 정보를 담는다.

 

 

- UITableViewDelegate를 사용할 수 있다.

 

UITableViewDelegate란? TableView의 여러 기능을 대신 수행하는 역할을한다.

마치 protocol 같은 기능이다.

 

작성 방식은

 

class ViewController: UIViewController,UITableViewDelegate {
}

위와같이 뷰컨트롤러 옆에 써주거나

class ViewController: UIViewController {
}

extension ViewController: UITableViewDelegate {

}

extension을 통해 추가확장개념으로 써줄수도있다.

보통 아래와같이 사용하여 기능별로 깔끔하게 코드를 정리해준다.