Container VC

원동진·2023년 12월 26일

iOS-Etc

목록 보기
1/3
post-thumbnail

하나 이상의 VC의 내용을 다른 사용자 CustomView와 결합하여 복합 인터페이스를 만들기 위함

  • 직접 문언가를 보여주는 역할 X
  • 부모 -자식 관계를 형성하여 자식 VC를 관리하는 VC
  • UITabBarController, UINavigationController, UIPageViewController 등이 이에 해당
  • 위에 해당하는 클래스 X → 하나의 개념이라고 생각

구조

필요한 이유 ?

  • 보통 iOS에서 하나의 VC에 여러 가지 기능 및 책임을 주어지게 되서 VC가 많은 역할을 가지고 코드도 길어지게 된다. → 단일 책임원칙을 시도

즉 VC에 역할을 나눠주기 위함

예시

스토리보드

  1. ContainerViewController에 ContainerView를 삽입
  2. ContainerView에 해당하는 ViewController만든 후

    위의 이미지 처럼 ViewController 설정

Code VC1 & VC2

VC1

class VC1: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = .red
    }
}

VC2

class VC2: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = .blue
    }
}

결과 화면

위의 예시와 같이 하나의 CotainerVC를 만들어 ContainerView를 삽입후 각각의 ContainerView에 해당하는 VC를 이용해 책임을 나눌수 있다.

궁금한 점 또는 추가하면 좋을 점, 지적할 점이 있다면 댓글 부탁드립니다.

도움이 됬으면 좋겠습니다.

참고
애플 개발자 문서

profile
iOS 개발자

0개의 댓글