ViewController 생명주기에 관해 공부했다.
ViewController
- UIKit 앱의 뷰 계층을 관리하는 개체입니다.
- 한 개의 페이지는 반드시 한 개의
UIViewController를 가짐.UIViewController내부에UIView,UIButton,UIScrollView등 UIKit 의 UI 클래스들을 배치하며 화면을 구성한다.
ViewController 생명주기
- init - ViewController 인스턴스가 메모리에 생성될 때 호출됨
- loadView - view 프로퍼티를 수동으로 만들고 연결할 때 사용
- viewDidLoad - view가 메모리에 올라온 직후 1번만 호출
여기서 UI 초기화, 데이터 바인딩, 제스처 등록 등 주로 설정함- viewWillAppear - 화면에 보여지기 직전에 호출
- viewIsAppearing - view가 화면에 나타나고 있는 상태에서 호출
- viewDidAppear - 화면이 완전히 나타난 직후 호출
- viewWillDisappear - 다른 화면으로 넘어가기 직전 호출
- viewDidDisappear - 다른 화면으로 전환이 끝난 직후
- deinit - ViewController가 메모리에서 해제될 때 호출
viewDidLoad에서 항상 초기 설정을 다 쓰길래 왜 그런지 궁금했었는데 오늘 공부 내용에 해답이 있었다.
viewDidLoad에서 초기 설정을 하는 이유
- 이 시점에 self.view가 메모리에 완전히 올라왔기 때문에 설정하기에 좋은 상태이기 때문
- 생애주기에서 단 한 번만 호출되기 때문에 설정하기에 딱 맞음
왜 그런지 모르고 사용하던 코드에 대해 알게 되어서 앞으로는 사용할 때 정확히 의미를 알고 사용할 수 있을 것 같다!
메모리에 대해 공부할 계획이다 ing~