UIViewController의 view 관련 메서드들
awakeFromNib()
loadView()
- 뷰컨트롤러가 관리할 뷰를 만드는 함수
UIViewController의 view 프로퍼티는 여기서 만들어진다.
- 뷰를 로드하거나 생성한 뒤
view 프로퍼티에 할당
- xib를 사용하지 않고, View를 로드하는 경우 사용
- xib가 존재하지만
loadView를 오버라이드하는 경우에는 xib가 무시됨
viewDidLoad()
awakeFromNib()이나 loadView()가 호출된 이후에 호출
- 👉
self.view가 생성된 이후에 호출되는 부분임
- 메모리 warning 등이 발생하여 view가 없어질 경우에도 호출
viewWillAppear()
viewDidLoad()가 호출된 이후 호출
- 화면전환 시에도 호출 (해당 화면이 나타날 때마다)
viewDidAppear()
viewWillAppear()가 호출된 이후 호출
- 화면이 모두 로딩되고 나서 호출
📌 ViewController의 View 생성 과정
UIViewController 객체의 view 프로퍼티에 접근
- 메모리 상에
view가 존재하지 않으면, loadView()가 호출
loadView()가 오버라이드 되어 있으면, 그 안의 내용을 기반으로 뷰 생성
loadView()가 오버라이드 되어 있지 않다면, nibName, nibBundle 프로퍼티들의 nib 파일 로드 시도
- 4.에서 파일이 존재하지 않으면, ViewController 이름의 nib 파일의 로드를 시도
- 그래도 없다면, empty
UIView로 생성
viewDidLoad() 호출