-
Swift - View Controller Life Cycle (생명주기)Swift 2019. 7. 3. 18:14
앱은 View Controller 로 이루어져 있는데, 이 View Controller 가 여러개일 경우가 대부분 일것 이다.
이 각각의 View Controller 는 생명주기를 가지고 있는데
View Controller 에서는 생명주기는 화면에 보여졌다가 사라지는 주기를 말하는 것이다.
View Controller Life Cycle 을 이미지로 본다면 다음과 같은 이미지로 볼 수 있다.
이미지 출처:
1. loadView()
: 화면에 띄워줄 view를 만드는 메소드로 view를 만들고 메모리에 올림
그리고 설명을 보면 사용자는 이 메소드를 직접 호출 하지 말라고 쓰여있다.
그리고 모두 직접적으로 코딩하여 만드는 경우를 제외하고서는 override하지 않는것이 좋다고 한다.자세한 설명은 아래 출처에서 확인할 수 있다.
https://leehonghwa.github.io/blog/loadView/
2. viewDidLoad
: 뷰의 컨트롤러가 메모리에 로드 된 후에 호출되며 시스템에 의해 자동으로 호출이 된다.
사용자에게 화면이 보여지기 전에 데이터를 뿌려주는 행위에 대한 코드를 작성할 수 있다.
일반적으로 리소스를 초기화하거나, 초기화면을 구성하는 용도로 주로 쓰인다.
이 메소드는 View Controller 생에 딱 한번 호출이 된다.
따라서 한 번만 있을 행위에 대해서는 이 메소드 안에 정의 해주어야 한다.3. viewWillAppear
: 뷰 컨트롤러의 화면이 올라오고 난후 뷰가 화면에 나타나기 직전에 호출이 된다.
즉 뷰가 로드 된 이후, 눈에 보이기 전에 컨트롤러에게 알리는 역할.
다른 뷰로 이동했다가 되돌아올때 재 호출되는 매소드로 화면이 나타날 때 마다 수행해야하는 작업을 정의하기 좋다.** 처음 어플리케이션이 수행되고 첫 화면이 띄워질때 호출되는 것은 viewDidLoad()와 동일하지만,
화면 전환을 통해 다시 현재의 화면으로 돌아올 때 viewDidLoad가 아닌 viewWillAppear가 호출된다.
4. viewDidAppear
: view가 데이터와 함께 완전히 화면에 나타난 후 호출되는 메소드
5. viewWillDisappear
: 다음 View Controller 화면이 전환하기 전이나 View Controller 가 사라지기 직전에 호출되는 메소드
6.viewDidDisappear
: View Controller들이 화면에서 사라지고 나서 호출되는 메소드
화면이 사라지고 나서 필요없어지는 (멈춰야하는) 작업들을 여기서 할 수 있다.
-
직접 화면을 전환하면서 ViewController LifeCycle 을 확인하는 포스터
'Swift' 카테고리의 다른 글
Swift - viewDidLoad() 깔끔하게 쓰기 (0) 2019.07.13 Swift - ViewController Lifecycle (생명주기) 02 (2) 2019.07.08 Swift 로 iOS 앱 만들기 - 05 : 코드로 view 생성하기 (Then 사용) (0) 2019.07.03 Swift 로 iOS 앱 만들기 - 04 : SnapKit 사용 / leading 과 trailing (1) 2019.07.02 Swift 로 iOS 앱 만들기 - 03 : Auto Layout 과 SnapKit (0) 2019.06.26