2023. 8. 17. 01:31ㆍIOS [ 개념정리 ]
TableView
- 세로로 스크롤되는 콘텐츠 행들을 표시함. ( UIScrollView 상속받아서 스크롤이 가능한거임 )
- 각 행의 콘텐츠를 표시하는 cell로 구성된다.
(위의 사진처럼 각각의 행이 cell이며 cell이 모여서 tableView가 구성된다)
- 세가지의 Cell 스타일을 가지고있다.
차례대로 plain , grouped , insetGrouped 스타일이다.
출처 : 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을 통해 추가확장개념으로 써줄수도있다.
보통 아래와같이 사용하여 기능별로 깔끔하게 코드를 정리해준다.