[iOS] ViewController Life Cycle
viewDidLoad()
- rootView가 메모리에 로드된 후 호출
- LifeCycle중 딱 한 번만 호출
- 초기화가 필요한 부분(딱 한 번만 실행해야 하는 것)은 여기서 구현
아래 함수들은 반복해서 호출 가능
viewWillAppear(_:)
- rootView가 계층에 추가되기 직전 호출
- 화면이 표시되기 전에 최신 데이터를 리로드 하고자 하면 여기서 구현
viewIsAppearing(_:)
- rootView가 계층에 추가된 직후 호출
- 뷰의 배치를 바꾸는 코드를 여기에 구현
- 그러나, AutoLayout 사용 시 구현할 일 거의 X
- 뷰의 크기와 관련하여 정확하게 계산하고자 한다면 viewIsAppearing 이후에 해주어야 함.
viewDidAppear(_:)
viewWillDisappear(_:)
- rootView가 뷰 계층에서 제거되기 직전 호출
- 화면이 사라진 후가 아니다. 뷰 계층에서의 변화가 발생하여야 함.
- 화면이 사라지더라도 메모리에는 여전히 뷰 컨트롤러가 남아있고, 뷰 계층에 변화가 없음.
- 다른 화면으로 전환 시에는 호출
viewDidDisappear(_:)
- rootView가 뷰 계층에서 제거된 직후 호출
패턴
- 이름이
view
로 시작
- 파라미터는
animated
- 반드시 상위 구현
super.
부터 호출해야 한다.