이번 글에서는 iOS App의 생명주기에 이어서 앱의 구성요소 중에서 가장 핵심인 ViewController의 LifeCycle을 알아보겠다.
ViewController
➡️ UIKit 앱의 인터페이스를 관리하는 앱의 기초가 되는 내부 구조
ViewController LifeCycle
ViewController의 생명 주기 흐름도이다.
0️⃣ init
storyboard나 code로 ViewController를 생성하는 과정
생명 주기로의 진입 단계이다.
1️⃣ loadView
- view를 생성하고 Heap 메모리에 Load하는 단계이다. UIViewController의 View가 생성되는 단계이다.
❗️공식문서에 따르면 loadView() 메소드를 직접 호출하면 안 된다.
2️⃣ viewDidLoad
- ViewController의 해당 View가 메모리에 Load된 후에 호출되는 메소드
- ViewController 생성 시 자동으로 생성되어있는 메소드
- ViewController 생명 주기에서 딱 한번 호출된다.
➡️ 한 번 호출 될 행위들을 작성한다.
3️⃣ viewWillAppear
- ViewController의 View가 뷰 계층에 추가될 예정임을 알리는 메소드
즉, View가 이제 화면에 출력될 것임을 ViewController에 알린다.
- 화면 전환을 통해 다시 현재의 화면으로 돌아올 때 호출 된다.
➡️ 해당 View가 화면에 표시되기 전에 처리해야 하는 작업을 작성한다.
4️⃣ viewDidAppear
- ViewController의 View가 뷰 계층에 추가되었음을 알리는 메소드
즉, View가 화면에 출력 됐음을 알린다.
➡️ 해당 View가 화면에 나타난 즉시 발생해야 하는 작업을 작성한다.
5️⃣ viewWillDisappear
- ViewController의 뷰 계층에서 View가 제거될 예정임을 알리는 메소드
➡️ 최종적으로 데이터를 저장하는 작업을 작성한다.
6️⃣ viewDidDisappear
- ViewController에게 뷰 계층에서 해당 View가 제거되었음을 알리는 메소드
➡️ 화면이 사라지고 나서 필요 없는 작업을 작성한다.
'iOS > iOS' 카테고리의 다른 글
[iOS] 프로세스(Process), 쓰레드(Thread) (0) | 2024.01.26 |
---|---|
[iOS] 생명주기 - ViewController LifeCycle 2 (1) | 2023.08.20 |
[iOS] 생명주기 - iOS App LifeCycle 2 (1) | 2023.08.15 |
[iOS] 생명주기 - iOS App LifeCycle 1 (0) | 2023.08.15 |
[iOS] 네트워크 통신 - URL, URLComponents (0) | 2023.08.12 |