기존 view controller 와 다른 view controller의 차이란?

이번에 프로젝트를 하다보니 table view controller 나 collection view controller등 다른 컨트롤러를 다루고 있는데요. controller를 만드는 방법이 그냥 view controller에 table view나 collection view등을 올리는 방법과 아예 table view controller를 만들어 진행하는 방법 이렇게 2가지가 있는데요. 인터넷에서 자료를 찾다보니 일반 view controller에 table view등을 올려 만드는 방법으로 진행하는 경우가 많더군요… 혹시 2가지 과정의 차이가 있을까요? 그리고 실제 개발 시 둘중 더 선호되는 방법이 있나요?

좋아요 2

@jsj7878 저도 고민했던 것으로는 table view Controller는 그 view를 순전히 table로 쓰겠다는 생각입니다. 그래서 view 전체에 table이 들어가 있고 초기의 설정이 자동으로 되어져 있습니다 (DataSource, Delegate). 하지만 이런 특성 때문에 View를 Customize 하기에는 어려운 부분이 있습니다. 반대로 일반 View에 Table View를 추가하는 것은 Customize가 용이합니다(View를 구역으로 나눠 각 구역에 원하는 것을 설정할 때). 대신 코드의 부담이나 레이아웃 설정의 부담이 있지만 후에 UI를 변경하고 싶을 때 더 편리하다고 생각합니다.

좋아요 2

가장 큰 차이점 중 하나가 뷰 컨트롤러에 연결된 뷰가 달라요.

일반 뷰 컨트롤러는 UIView가 연결되어 있고
테이블 뷰 컨트로러는 UITableView,
콜렉션 뷰 컨트롤러는 UICollectionView가 연결되어 있죠.

그래서 테이블 뷰 컨트롤러나 콜렉션 뷰 컨트롤러는 신 전체가 테이블 뷰나 콜렉션 뷰가 됩니다.

일반적으로 신 전체가 테이블 뷰나 콜렉션 뷰라면 전용 뷰 컨트롤러를 쓰면 편하죠. 데이터소스/델리게이트 연결 필요없고, 테이블/콜렉션 뷰 아웃렛 연결할 필요가 없으니까요.

좋아요 1