View LifeCycle (뷰 생명주기)
iOS 개발에서 뷰 컨트롤러는 애플리케이션 내부 구조의 기초이다. 뷰 컨트롤러는 스토리보드에 있는 모든 뷰의 부모이다.
각 UIKit 애플리케이션에는 최소한 하나의 ViewController가 있다. 이는 사용자 인터페이스와 다양한 부분 간의 전환을 용이하게 한다.
ViewController가 뷰 계층 구조에 추가되면 함수는 다음 순서로 호출된다.
viewDidLoad()
- viewDidLoad 메서드는 뷰 컨트롤러의 뷰가 메모리에 로드된 직후 호출된다.
- 일반적으로 한 번만 호출되며, 뷰의 초기화 및 초기 설정 작업을 수행하는 데 사용된다.
- 데이터 로딩이나 화면 갱신과 관련된 작업은 주로 이 시점에서 수행된다.
viewWillAppear(_:)
- viewWillAppear 메서드는 뷰가 화면에 나타나기 직전에 호출된다.
- 뷰 컨트롤러가 화면에 표시되기 전에 필요한 작업을 수행할 수 있다.
- 데이터 업데이트나 화면 구성 변경 등을 수행할 수 있다.
viewWillLayoutSubviews()
- viewWillLayoutSubviews 메서드는 뷰가 하위 뷰들의 레이아웃이 재구성되기 직전에 호출된다.
- 뷰의 크기 또는 위치가 변경될 때, 또는 하위 뷰의 레이아웃이 재조정될 때 이 메서드가 호출된다.
- 주로 레이아웃 변경 전에 필요한 작업을 수행할 때 사용된다.
viewDidLayoutSubviews()
- viewDidLayoutSubviews 메서드는 뷰와 하위 뷰들의 레이아웃이 완전히 재구성된 후에 호출된다.
- 주로 레이아웃 변경 후에 추가 작업을 수행할 때 사용된다.
- 레이아웃이 변경된 후에 특정 뷰의 프레임을 조정하거나 애니메이션 효과를 추가할 수 있다.
viewDidAppear(_:)
- viewDidAppear 메서드는 뷰가 화면에 완전히 표시된 후에 호출된다.
- 화면이 완전히 로드되었으며 사용자와의 상호작용이 가능한 상태이다.
- 화면에 필요한 추가 작업을 수행할 수 있다.
viewWillDisappear(_:)
- viewWillDisappear 메서드는 뷰가 화면에서 사라지기 직전에 호출된다.
- 화면이 사라지기 전에 필요한 정리 작업이나 데이터 저장 등을 수행할 수 있다.
viewDidDisappear(_:)
- viewDidDisappear 메서드는 뷰가 화면에서 완전히 사라진 후에 호출된다.
- 화면이 사라진 후에 추가적인 정리 작업을 수행할 수 있다.
결론
라이프 사이클 기능과 상태 전환은 다음과 같이 요약할 수 있다.