loadView()
역할
컨트롤러를 관리하는 뷰를 생성하거나 로드한 후 뷰 프로퍼티로 배정 함
정의
func loadView()
상세
- 직접적으로 호출 불가(
super.loadView()
처럼 호출 해야 함).
- 뷰 프로퍼티가 호출되었으나
nil
상태일 경우 호출 됨
- 만약 VC가 nib file과 관련있다면 nib file로 부터 뷰를 로드하고 그렇지 않다면 UIView 오브젝트를 생성함
viewDidLoad()
호출 시점
컨트롤러 뷰가 메모리에 올라가면 호출
정의
func viewDidLoad()
상세
- View 계층 구조가 nib 파일에서 로드되었는지 혹은 메소드에서 프로그래밍 방식으로 생성되었는지 여부에 관계없이 호출 됨
- nib 파일에서 로드된 뷰에서 추가 초기화를 수행하려면
loadView()
정의
viewWillAppear()
호출 시점
컨트롤러 뷰가 메모리에 올라가면 호출
정의
func viewWillAppear(_ animated: Bool)
상세
- VC의 View가 view 계층 구조에 추가되기 직전에 호출 됨
- View에 보여지는 task들을 커스텀 하기 위해 사용 (ex. 상태 바의 스타일을 수정할 때)
viewDidAppear()
호출 시점
뷰가 계층 구조에 추가 될 때
정의
func viewDidAppear(_ animated: Bool)
상세
- View를 띄우는 것과 관련된 추가적인 task들을 수행하기 위해 사용 (ex. 상태 바의 스타일을 수정할 때)
ViewWillDisappear()
호출 시점
뷰가 계층 구조에 제거 되기 전에 호출
정의
func viewWillDisappear(_ animated: Bool)
상세
- View가 계층구조에서 제거되기 전에, 관련 동작이 수행되기 전에 호출
- 예를 들어,
viewDidAppear()
에서 만들어졌던 상태 바의 스타일 변경 등을 되돌릴 때 사용
viewDidDisappear()
호출 시점
뷰가 계층 구조에서 제거 되었을 때 호출
정의
func viewDidDisappear(_ animated: Bool)
상세
- View를 숨기거나 해제할 때 추가적인 작업을 수행할 때 사용
viewDidUnload() => Deprecated