.png)
💡 View Life Cycle

💡 단계별 특징

1. loadView
viewController 의 View를 만드는 역할, 해당 프로퍼티가 nil 일 때 호출됨
view를 로드하거나 생성, 해당 view를 viewController 의 view 프로퍼티에 저장
view.backGroudColor = .clear 의 view
outlet 과 action 생성, 연결
2. viewDidLoad
viewController 의 view가 메모리에 로드된 지후에 호출
viewController 에서 사용할 객체들을 초기화할 때 적합
view의 bound가 아직 정의되지 않은 상태
- 메모리워닝이 실행되는 경우 중복 호출될 가능성
3. viewWillAppear
view가 화면에 나타나기 직전에 호출
( ➡️ viewDidLoad가 호출된다고 화면에 view가 보이는 것이 아님)
view가 스크린에 보이기 바로 전
view의 bound는 정의됐지만, 오리엔테이션이 설정되진 않은 상태
- 필드를 숨기거나 보여주기에 적합한 시점
view가 스크린에 보여질 때마다 호출됨
viewWillLayoutSubviews
- view
의 bound`가 최종적으로 결정되는 최초 시점
subView의 레이아웃을 업데이트하기 적합한 시점
- 여러 번 중복으로 호출될 수 있다.
- 메인뷰의 서브뷰가 로드되는 경우
- LoadView is only called once: when the view needs to be loaded
- LayoutSubviews, however, is called once per run loop on any view that has had
setNeedsLayout or setNeedsDisplayInRect called on it - this includes whenever a subview has been added to the view, scrolling, resizing, etc. 참고
4. viewDidAppear
- view`가 스크린에 보여진 후에 호출
- 애니메이션을 시작하거나, 외부 API를 불러오기에 적합
5. viewWillDisappear
view가 사라지기 직전에 호출
- ex. 키보드 숨기기
6. viewDidDisappear
view가 사라진 직후에 호출
- ex. 구독 해제
7. viewDidUnload