[iOS] TableView 테이블뷰에 대하여

테이블뷰

안녕하세요 오늘은 테이블뷰에 대해 정리해보려고 합니다!

iOS 개발에 있어서 필수로 숙지해두어야 하는 개념인 만큼 자세하게 다루어 보겠습니다

 

 

테이블 뷰란?

테이블 뷰란 단일 열에서 수직으로 스크롤되는 콘텐츠입니다. (출처: 공식 문서)

쉽게 말하자면! 하나의 열에 수직으로 쭉 데이터가 나열되어 스크롤할 수 있는 뷰라고 할 수 있을 것 같네요. 또한 하나의 행마다 앱의 데이터가 조금씩 들어가있습니다.

예를 들어, 연락처 앱에 들어가보면 사람들의 이름이 세로로 나열되어 있습니다. 한 사람의 이름을 터치하면 그 사람의 연락처 정보가 나타납니다.

여기에서 쓰인 것이 바로 테이블 뷰 TableView 라고 하고,

한 명 한 명이 들어있는 행은 셀 Cell 이라고 표현합니다.

 

테이블 뷰의 필요성

데이터를 표현하기 위해 그냥 Stack View를 사용해도 되지 않을까요?

만약 연락처 앱에 저장된 사람이 10명 뿐이라면 Stack View를 사용하여 표현하는 것이 더 효율적일 수도 있겠네요.

그런데 생각해봅시다. 만약 연락처에 100명, 1000명 이상 저장된다면 하나하나를 Stack View로 구현할 수 있을까요?

만약 연락처를 삭제하거나 추가한다면 변경사항을 Stack에 일일이 반영하는 것도 매우 번거로울 것입니다.

이럴 때 사용하는 것이 바로 테이블 뷰입니다.

수많은 뷰 객체가 필요할 때, 그런데 그 객체들이 모두 반복적인 디자인과 코드를 가지고 있을 때 쉽게 사용할 수 있습니다.

테이블 뷰에서는 하나의 셀만 디자인해놓으면 셀이 1000개든, 10000개든 쉽게 구현할 수 있기 때문입니다.

또한 테이블 뷰는 스크롤 뷰를 상속받고 있기 때문에, 따로 구현하지 않아도 스크롤이 이루어집니다!

 

테이블 뷰 구현

그렇다면 테이블 뷰는 어떻게 구현할까요?

크게 두 가지 방법이 있습니다.

 

1. View Controller로 구현하는 방법

먼저 뷰 컨트롤러로 구현하는 방법입니다.

화면 전체를 테이블 뷰로 구성해야 하는 제약이 있고, 만들 때부터 테이블 뷰가 이미 연결되어 있습니다.

 

2. Object Library로 구현하는 방법

다음은 테이블 뷰 객체를 추가하는 방법입니다.

화면 전체를 사용하지 않아도 다양하게 디자인을 조정할 수 있습니다. 하지만 Connection Inspector에서는 연결되어 있지 않습니다.