iOS

iOS UITableView

JoonSwift 2020. 12. 23. 23:29

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