Monti

Swift - UIViewController 본문

IOS/Swift

Swift - UIViewController

montt 2022. 9. 28. 22:34

UIViewController

UIViewController


UIKit 앱의 뷰 계층 구조를 관리하는 객체로 앱은 최소 하나 이상의 뷰 컨트롤러를 가지고 있다.

UIViewController의 주요 역할

  • 데이터 변화에 따라서 view 컨텐츠를 업데이트 한다.
  • View들과 함께 사용자 상호작용에 응답한다.
  • View를 리사이징하고 전체적인 인터페이스의 레이아웃을 관리한다.
  • 다른 뷰 컨트롤러 들과 함께 앱을 구성한다.

UIViewController LifeCycle

UIViewController LifeCycle CallBack Method

  1. init
    • 뷰 컨트롤러의 초기화를 진행하면 내부의 객체들을 초기화하는 작업이 수행된다.
    • 내부의 뷰들이 생성된 것이 아니기 때문에 내부 뷰 요소에는 접근할 수 없다.
  2. loacView
    • 화면의 최상위단에 띄어질 View를 설정하는 메소드
    • outlet 및 action 들이 loadView에서 생성되고 연결된다.
  3. viewDidLoad
    • 뷰 컨트롤러의 모든 뷰들이 메모리에 로드된 직후 호출되는 메소드
    • 1회 호출되며 메모리 경고로 뷰가 사라지지 않는 이상 다시 호출되지 않음
    • 주로 뷰의 초기화 작업을 담당
  4. viewWillAppear
    • 뷰가 뷰 계층에 추가되고, 화면에 보이기 직전에 매번 호출되며, 다른 뷰로 이동 후 다시 돌아오면 재호출
    • 뷰와 관련된 추가적인 초기화 작업을 담당
  5. viewDidAppear
    • 뷰 컨트롤러의 뷰가 뷰 계층에 추가된 후 호출
    • 뷰를 나타낼 때 필요한 추가 작업, 애니메이션을 시작하는 작업을 담당
  6. viewWillDisappear
    • 뷰 컨트롤러의 뷰가 뷰 계층에서 사라지기 전 호출
    • 뷰가 생성된 뒤 작업한 내용을 되돌리는 작업 및 최종적으로 데이터를 저장하는 작업을 담당
  7. viewDidDisappear
    • 뷰 컨트롤러의 뷰가 뷰 계층에서 사라진 뒤에 호출
    • 뷰가 사라지는 것과 관련된 추가 작업
  8. viewDidUnload
    • 컨트롤러의 뷰가 메모리에서 해제될 때 호출 (더 이상 사용되지 않음)

'IOS > Swift' 카테고리의 다른 글

Swift - UITabBarController  (0) 2022.09.28
Swift UINavigationViewController  (0) 2022.09.28
Swift UIKit 설명  (0) 2022.09.28
Swift Architecture / 스위프트 아키텍쳐 패턴  (1) 2022.09.28
Swift 기본 문법 정리  (0) 2022.09.28
Comments