일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- optional
- initializer
- Method
- Terminal
- enum
- init
- Git
- 코딩테스트
- Xcode
- IOS
- struct
- instance
- 이니셜라이저
- url
- Unicode
- 디자인패턴
- Swift
- UIKit
- interpace
- Class
- initalizer
- String
- 스위프트
- property
- tuist
- Protocol
- delegate
- type
- Foundation
- extension
Archives
- Today
- Total
아리의 iOS 탐구생활
[iOS/UIKit] ViewController의 Life cycle 본문
반응형
# ViewController의 생명주기란?
각각의 ViewController들은 생명주기란 어떤 것이냐면 말그대로 ‘보여졌다. 사라지는’ 주기를 이야기한다.
생명주기 관련 메서드들을 잘 활용하면 화면을 재구성하거나 할 때 유용하게 쓰이므로 잘 알아두는 것이 좋다.
- 정상적인 ViewController 생명주기를 요약하자면 Appearing 상태를 거쳐서 Appeared 상태가 진행되고, 만약 종료하려면 Disappearing 상태를 거쳐서 Disappeared 상태로 진행된다.
- 정상적이지 않은 등장하는 도중에 다시 퇴장되는 경우가 있는데 이럴 때는 Appearing 상태에서 Appeared상태로 가지않고 곧바로 Disappeared 상태로 가게된다.
- 사용자가 홈버튼을 눌러 앱을 백그라운드 상태로 보냈을 때도 마찬가지로 화면이 퇴장하는 변화가 발생하는데 단 이 때에는 다른 ViewController와 교차하지 않는다.
Disappearing 상태는 두가지 경우로부터 만들어진다.
- 새로운 ViewController가 등장하여 현재의 화면을 덮는 경우
- 이전화면으로 돌아가기 위해 현재의 ViewController가 사라지는 경우
# ViewController 상태변화 메서드
사실 설명할 것도 없이 메소드명만 봐도 뭐하는 애인지 알수가 있다. (이래서 네이밍이 중요…)
- ViewDiaLoad ViewController를 생성. 한번만 호출한다.
- ViewWillAppear 뷰 계층 구조에 추가되기 직전에 호출된다.
- ViewDidAppear 뷰 계층 구조에 추가된 직후에 호출된다.
- ViewWillDisappear 뷰 게층 구조에서 사라지기 직전 호출된다.
- ViewDidDisappear 뷰 게층 구조에서 사라진 직후 호출된다.
이론적으로 보는 것 보다 앱을 직접 실행해서 메서드들을 확인해보면 좀더 빠른 이해가 가능하다.
- ViewDiaLoad, ViewWillAppear, ViewDidAppear
- ViewDidLoad, ViewWillDisappear, ViewWillAppear, ViewDidDisappear, ViewDidAppear
- ViewWillDisappear, ViewWillAppear, ViewDidDisappear, ViewDidAppear
Reference
반응형
'Swift > iOS' 카테고리의 다른 글
[iOS/UIKit] prepare method 알아보기 (0) | 2021.10.28 |
---|---|
[iOS/UIKit] UIStepper Tutorial (0) | 2021.10.27 |
[iOS/UIKit] Navigation Controller 맛보기 (0) | 2021.10.22 |
[iOS/UIKit] ViewController와 종류 (0) | 2021.10.22 |
[iOS/UIKit] Storyboad Segue에 대해서 알아보자 (0) | 2021.10.21 |
Comments