study record

[iOS] View의 생명주기 본문

iOS/iOS 정리

[iOS] View의 생명주기

asong 2022. 3. 23. 16:23

ViewController의 생명주기

1. func viewDidLoad()

뷰 계층이 메모리에 로드된 직후 호출되는 메소드.

메모리에 처음 로딩될 때 한 번만 호출되는 메소드로 메모리 경고로 뷰가 사라지지 않는 이상 다시 호출되지 않는다.

리소스 초기화 및 초기 화면 구성하기에 좋다. 

 

2. func viewWillAppear(_ animated: Bool)

뷰가 뷰 계층에 추가되고, 화면에 표시되기 직전에 호출되는 메소드.

다른 뷰로 이동했다가 되돌아오면 다시 호출된다. 화면이 나타날 때마다 수행해야 하는 작업을 구현하면 좋다.

 

3. func viewDidAppear(_ animated: Bool)

뷰가 뷰 계층에 추가되어 화면에 표시되고 난 후 호출되는 메소드.

뷰를 나타내는 것과 관련된 추가 작업을 하기 좋다. 화면에 적용될 애니메이션을 그려준다.

 

4. func viewWillDisappear(_ animated: Bool)

뷰가 뷰 계층에서 사라지기 직전에 호출되는 메소드.

뷰가 생성된 뒤 발생한 변화를 이전 상태로 되돌리기 좋은 시점이다.

뷰가 사라지기 직전이라는 것을 뷰컨트롤러에게 알리는 역할을 한다.

 

5. func viewDidDisappear(_ animated: Bool)

뷰가 뷰 계층에서 사라진 후 호출되는 메소드.

뷰를 숨기는 것과 관련된 추가적 작업을 하기 좋은 시점이다. 시간이 오래 걸리는 작업은 하지 않는게 좋다.

뷰가 제거되었음을 뷰컨트롤러에게 알리는 역할을 하며 제거되는 뷰에 대한 추가 작업(애니메이션 등)을 설정할 수 있다.

 

 

참고:

https://do-misol.tistory.com/48

https://zeddios.tistory.com/43

'iOS > iOS 정리' 카테고리의 다른 글

[iOS] NSCache란?  (0) 2022.03.26
iOS App 실행 과정  (0) 2022.03.25
dequeueReusableCell(withIdentifier:for:) 의미와 장점  (0) 2022.03.17
[iOS] NotificationCenter  (0) 2022.03.16
[iOS] AppDelegate, SceneDelegate  (0) 2022.03.10