Swfit

TableViewCell 만드는 방법 정리-등록(Register)하기

GGShin 2022. 3. 18. 15:58

TableView를 만들때에는 각 행에 쓰일 cell을 만들어주어야 합니다.

상황에 따라 기본적인 형태의 셀을 사용하기도 하고 customize 하기도 합니다.

기본 셀을 사용하는 경우는 따로 작업할 것은 크게 없고 기본 형태셀을 등록(register)만 해주면 됩니다. 

Custom cell을 사용하는 경우에는 원하는 모양대로 만들어 줄 수가 있는데요, 

ViewController를 구성할 때와 마찬가지로 코드로만 할 수도 있고 storyboard의 역할을 하는 .xib파일로 만들수도 있습니다.

 

먼저 간단한 register 방법부터 알아보겠습니다.

1. TableView에 register 하기

UITableView를 만들때에는 tableView에 cell을 등록해주어야 합니다.

기본적 셀을 사용하는 경우와 customize된 셀을 사용하는 경우 어떻게 tableView에 register하는 지 알아보겠습니다.

 

1) 기본적인 셀 형태를 사용하는 경우

기본 테이블 뷰 셀

특별히 커스터마이징을 하지 않고 기본적인 셀 형태를 사용하는 경우는 많은 과정이 필요 없습니다.

따로 셀 파일을 만들어 줄 필요없이 tableView를 만들때 바로 등록만 하면 끝입니다.

1
2
3
4
5
6
7
    public let tableView: UITableView = {
        let table = UITableView(frame: .zero, style: .grouped)
        
        table.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
        
        return table
    }()
cs

4번 라인처럼 UITableViewCell.self로 등록해주면 기본 셀을 사용할 수 있게됩니다.

Cell에 들어갈 텍스트는 cellForRowAt 함수에 작성해 주면 되겠죠?

 

2) 커스텀 셀을 사용하는 경우

커스텀 셀을 사용하는 경우도 크게 다르지는 않습니다. 다만 register 시에 해당하는 tableViewCell 파일이름과 identifier를 넣어주면 됩니다. 

커스텀 셀

1
2
3
4
5
6
7
    private let tableView: UITableView = {
        let table = UITableView()
        
        table.register(CustomTableViewCell.self, forCellReuseIdentifier: CustomTableViewCell.identifier)
        
        return table
    }()
cs

제가 만든 tableViewCell 파일의 이름은 CustomTableViewCell이었고 identifier는 셀 파일 안에 identifier 변수로 지정해두었기에 위와 같은 코드가 나왔습니다.

 

다음번 글에서는 이어서 어떻게 커스텀 셀을 만드는지에 대해 알아보겠습니다.

감사합니다!

반응형