Computer >> 컴퓨터 >  >> 프로그래밍 >> iOS

Swift로 UITableView에 새 셀 삽입하는 방법 – 단계별 완벽 가이드

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개가 세로로 나열된 테이블 뷰가 표시되는 것을 확인할 수 있습니다.

Swift로 UITableView에 새 셀 삽입하는 방법 – 단계별 완벽 가이드

마무리

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