-
View LifeCycle (생명주기)iOS 2020. 11. 24. 14:01
안녕하세요. 그린입니다!
오늘은 스위프트로 뷰가 나타나는 생명주기에 대해 학습하겠습니다.
View LifeCycle, 생명주기 간단한 주제이지만 화면 전환에 있어서 가장 중요하죠~!?
뷰가 화면에 나타나고 사라질때 그 순환 싸이클을 나타내는것으로 뷰 컨트롤러에는 아래와 같이 여러 단계의 생명주기를 가지고 있습니다.
[생명주기]
1. init (초기화)
2. loadView
-. 뷰 컨트롤러가 메모리에 로드된다.
3. viewDidLoad
-. 뷰가 실질적으로 메모리에 로드된다. 이 메서드에서 오버라이드하여 화면이 보여지기 전 기능들을 구현할 수 있다. 간단히 초기화면을 구성하는 메서드로 볼 수 있다. 중요한점은 해당 메서드는 실행 후 오직 한번만 호출이 된다.
4. viewWillAppear
-. 말 그대로 뷰가 보여질 예정을 뜻한다. 즉 뷰 컨트롤러의 화면이 생성되고 뷰가 화면에 나타나기 전에 호출이 된다. 만약 다른 뷰로 이동 시 대상 뷰에서 호출이 됨으로 그 호출 시 구현할 기능들이 들어가면 된다. 화면 전환 시에 viewDidLoad가 호출되지않고 해당 메서드가 호출된다.
5. viewDidAppear
-. 뷰가 화면에 나타나고나서 호출되는 메서드이다. 화면에 실제로 노출 후의 실행할 작업들을 구현해주면 된다.
6. viewWillDisappear
-. 뷰가 사라질 예정을 뜻한다. 화면전환 시에 많이 사용되며, 다음 뷰의 WillAppear와 순서대로 호출이된다.
7. viewDidDisappear
-. 뷰가 사라지고 난 후 를 뜻한다. 뷰 전환 시 사라지고 난 후 기능을 멈추거나 다른 동작이 필요하다면 해당 메서드에서 구현해줄 수 있다.
8. viewDidUnload
-. 뷰 로드제거
[참고자료]
https://developer.apple.com/reference/uikit/uiviewcontroller/1621454-loadview
이상으로 간단하게 스위프트에서의 뷰 생명주기에 대해 알아봤습니다.
각 단계마다 잘 활용하면 화면전환 시 유용하게 쓰임으로 꼭 숙지해야될 부분입니다.
감사합니다! :D
'iOS' 카테고리의 다른 글
단위테스트와 TDD (0) 2020.12.15 AppDelegate & SceneDelegate (0) 2020.12.07 Gesture Recognizer (0) 2020.12.02 UML (0) 2020.12.02 KVO와 Notification 간단 정리 (0) 2020.11.19