[iOS] ViewController 생명주기

오늘은 UIViewController의 Life-Cycle에 대해 알아보겠습니다

화면의 생애 정도로 봐도 될 것 같네요.

 

 

1. init

1-1. init(coder:)

스토리보드를 통해 ViewController 초기화 작업을 하는 메소드입니다.

 

1-2. init(nibName:bundle:)

nib를 통해 init(corder:)를 대신하여 초기화 작업을 하는 메소드입니다.

 

2. loadView

뷰를 실제로 생성해서 메모리에 로드합니다. 

스토리보드나 nib(xib)을 사용하지 않는다면 이 메소드를 오버라이드해서 뷰를 만들고 뷰계층을 구성해야 합니다.

 

3. viewDidLoad

뷰가 메모리에 로드된 이후 시점에 한 번만 호출됩니다.

뷰가 로드는 되었으나 화면에 뷰가 나타나진 않았으므로 빈 화면에서 발생합니다.

그렇기 때문에 일반적으로 리소스를 초기화하거나 초기 화면을 구성하는 용도로 주로 사용합니다.

 

4. viewWillAppear

뷰가 화면에 나타나기 직전 호출되는 함수입니다

해당 함수는 화면 전환을 통해 다시 돌아왔을 때에도 다시 호출됩니다.

이미지의 순서대로 viewWillDisappear -> viewDidDisappear -> viewWillAppear -> viewDidAppear

 

5. viewDidAppear

뷰가 화면에 완전히 나타났음을 알립니다

 

6. viewWillDisappear

뷰가 사라지기 직전 호출되는 함수입니다.

 

7. viewDidDisappear

뷰가 화면에서 완전히 사라졌을 때 호출되는 함수입니다.

 

차니님의 😊
글이 좋았다면 응원을 보내주세요!