가끔 특정 case에 따라 rootView를 변경해주어야 할 경우가 있습니다. 이번 포스트에서는 rootView에 접근하는 방법에 대해서 알아보겠습니다.
rootView에 접근을 시도하는 곳이 UIView를 상속한 class 라면 해당 view의 window 속성을 통해 rootView에 접근할 수 있습니다. 왜냐하면 모든 view는 자신을 포함하고 있는 window속성을 가지고 있기 때문입니다. 가장 흔한 방법이 self.view.window.rootViewController
입니다.
UIView의 window 속성을 통해 해당 UIView가 window에 속해있는지 여부도 확인할 수 있습니다. 만약 window속성 값이 nil을 반환하면 해당 UIView는 window에 속해있지 않고 따라서 볼 수 없는 상태임을 의미합니다.
var window
프로퍼티가 선언되어 있습니다. 이를 통해 rootViewController에 접근할 수 있습니다. let rootVC = UIApplication.shared.windows.first!.rootViewController