Swift를 사용해 UITableView에 새로운 셀을 삽입하려면 먼저 테이블 뷰 셀을 생성한 뒤, 테이블 뷰의 cellForRowAt 메서드를 통해 해당 셀을 테이블 뷰에 추가해야 합니다.
셀은 스토리보드(Storyboard)를 이용해 만들거나, UITableViewCell 클래스의 닙(Nib/XIB) 파일을 생성하는 방식으로 만들 수 있습니다. 이 글에서는 가장 많이 사용되는 스토리보드 방식을 기준으로 설명하겠습니다.
1. 테이블 뷰 추가 및 아울렛 연결
뷰 컨트롤러(View Controller)로 이동해 테이블 뷰를 드래그 앤 드롭으로 배치한 다음, 해당 테이블 뷰의 아울렛(Outlet)을 ViewController 클래스와 연결합니다. 여기서는 아울렛 이름을 tblView로 지정했습니다.
2. 커스텀 셀(CustomCell) 생성
방금 만든 테이블 뷰 안에 프로토타입 셀을 하나 추가하고, 새로운 클래스를 생성해 이름을 CustomCell로 지정한 뒤 해당 클래스를 셀에 할당합니다.
다음으로 셀의 재사용 식별자(Reuse Identifier)를 "CustomCell"로 설정합니다. 이 식별자는 나중에 셀을 재사용 큐에서 가져올 때 사용됩니다.
셀에 라벨 추가하기
셀 내부에 라벨(Label)을 하나 추가하고 텍스트를 "CustomCell"로 변경합니다. 이렇게 하면 실행 화면에서 어떤 셀이 표시되는지 쉽게 구분할 수 있습니다. 라벨은 오토레이아웃 제약 조건을 사용해 수직·수평 중앙에 배치합니다.
3. 데이터 소스 메서드 구현
이제 ViewController 클래스에 다음 코드를 추가합니다. 섹션 개수, 행 개수, 그리고 각 행에 표시할 셀을 반환하는 필수 데이터 소스 메서드들을 구현하는 코드입니다.
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tblView.dequeueReusableCell(withIdentifier: "CustomCell") as! CustomCell
return cell
}코드 설명
numberOfSections(in:): 테이블 뷰의 섹션 개수를 결정합니다. 여기서는 1개의 섹션을 사용합니다.numberOfRowsInSection: 각 섹션에 표시할 행의 개수를 지정합니다. 이 예제에서는 5개의 셀이 표시됩니다.cellForRowAt: 각 행에 실제로 표시될 셀 객체를 생성하고 반환합니다.dequeueReusableCell(withIdentifier:)메서드를 호출해 "CustomCell" 식별자로 등록된 셀을 재사용 큐에서 가져옵니다.
4. 실행 결과 확인
위 코드를 작성한 후 앱을 빌드하고 실행하면, 디바이스(또는 시뮬레이터) 화면에 "CustomCell" 라벨이 중앙에 배치된 셀 5개가 세로로 나열된 테이블 뷰가 표시되는 것을 확인할 수 있습니다.

마무리
이처럼 UITableView에 새 셀을 삽입하는 과정은 ① 셀 생성 → ② 식별자 등록 → ③ 데이터 소스 메서드 구현의 세 단계로 요약할 수 있습니다. 이 기본 패턴을 익혀두면 이후 동적으로 셀을 추가·삭제하거나, API 데이터를 기반으로 목록을 갱신하는 등의 고급 기능도 훨씬 쉽게 구현할 수 있습니다.