UITableView?
UITableView는 우선 UIScrollView를 부모 클래스로 가진다.
'Table views on iOS display a single column of vertically scrolling content, divided into rows. '
iOS의 TableView는 행으로 분할된 수직으로 스크롤을 할 수 있는 단일 열을 보여주는 View입니다.
이 각각의 행은 하나의 Content를 포함할 수 있다. 이 각각의 행은 UITableViewCell입니다.
UITableViewCell?
'The visual representation of a single row in a table view.'
UITableViewCell은 Table View의 단일행의 시각적인 표현입니다.
UITableView 와 UITableViewCell을 활용하여 간단한 TableView를 만들어보면
private let tableView: UITableView = {
let tableView = UITableView()
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
return tableView
}()
우선 tableView를 만들어주며 tableView에 사용할 Cell을 등록(register)하는 과정이 필요합니다.
다음은 view에 tableView를 add해주고, delegate를 사용하거나 datasource를 사용할 때에는 또 설정을 해 주어야 합니다..
우선 dataSource만 사용할 것이기 때문에 dataSource에 관련한 구현부만 보겠습니다.
우선 이 UITableViewDataSource가 무엇을 하는 녀석인지 먼저 알아보겠습니다.
데이터를 관리하고, table view에 대한 cell을 제공하기 위해 Object에서 채택하는 메소드들 입니다.
기본적으로 이렇게 2가지의 필수 구현 메소드가 존재합니다. 위의 메소드는 numberOfRowsInSection 즉 Section에 몇개의 Row가 들어갈 지 정하는 것이고,
아래의 메소드는 cellForRowAt Row에 들어갈 Cell을 리턴해 줍니다.
이렇게 작성하고 화면을 보면 간단한 테이블 뷰가 만들어져 나올것입니다! 👀
UITableViewDelegate를 사용하진 않았지만 뭐하는 녀석인지 알아보겠습니다!
Selections, Section의 header와 footer, Cell의 삭제 또는 재배치, 그리고 다른 TableView에 대한 Action들을 처리하는 녀석입니다!
'iOS' 카테고리의 다른 글
iOS Application Life Cycle (0) | 2021.01.18 |
---|---|
App Delegate / Scene Delegate Method (0) | 2021.01.15 |
ScrollView AutoLayout(with Code) (0) | 2020.12.22 |
Unit Test (XCTest) (0) | 2020.12.16 |
Auto Layout (Constraints) (0) | 2020.12.08 |