2024년 4월 2일 화요일
ViewController의 생명주기(Lifecycle)는 앱의 UI와 상호작용을 관리하는 데 중요한 역할을 합니다. ViewController가 생성되고 화면에 나타나는 순간부터 사라질 때까지의 일련의 이벤트로 구성되는 Lifecycle 과정에서 여러 메서드가 호출되며, 개발자는 이 메서드들을 오버라이드하여 특정 작업을 수행할 수 있습니다.
3월 22일 내용과 일부 중복되는 부분이지만,
ViewController를 제대로 이해하기 위한 핵심 내용이기에 쉽게 풀어 다시 한 번 정리해 봅니다.
- init: ViewController의 인스턴스가 생성될 때 호출
- loadView: ViewController가 관리하는 뷰가 로드될 때 호출. 뷰의 로딩을 시작하는 단계
- viewDidLoad: 뷰의 로딩이 완료되었을 때 호출. 초기 설정이나 데이터 로딩 등 한 번만 실행되어야 하는 작업 처리
- viewWillAppear: 뷰가 화면에 나타나기 직전에 호출. 뷰가 나타날 때마다 필요한 업데이트 수행.
- viewDidAppear: 뷰가 화면에 나타난 직후에 호출. 애니메이션 시작 또는 중요한 정보 표시 등의 작업 수행
- viewWillDisappear: 뷰가 화면에서 사라지기 직전 호출
- viewDidDisappear: 뷰가 화면에서 완전히 사라진 후 호출
App의 Lifecycle (iOS 13.0 +) ▽
코드 예시 ▽
import UIKit
class MyViewController: UIViewController {
// 뷰가 메모리에 로드될 때 호출됩니다.
override func viewDidLoad() {
super.viewDidLoad()
// 여기에 초기 설정 코드를 작성하세요.
print("viewDidLoad 호출됨")
}
// 뷰가 화면에 나타나기 직전에 호출됩니다.
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// 뷰가 나타나기 전에 필요한 작업을 수행하세요.
print("viewWillAppear 호출됨")
}
// 뷰가 화면에 나타난 직후에 호출됩니다.
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// 뷰가 나타난 후 수행할 작업을 여기에 작성하세요.
print("viewDidAppear 호출됨")
}
// 뷰가 화면에서 사라지기 직전에 호출됩니다.
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
// 뷰가 사라지기 전에 수행할 작업을 여기에 작성하세요.
print("viewWillDisappear 호출됨")
}
// 뷰가 화면에서 사라진 직후에 호출됩니다.
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
// 뷰가 사라진 후 수행할 작업을 여기에 작성하세요.
print("viewDidDisappear 호출됨")
}
}
오버라이드 (override)
: 슈퍼클래스로부터 상속받은 메서드, 프로퍼티들을 재정의하는 키워드
'iOS 앱 개발자 프로젝트 > iOS 입문' 카테고리의 다른 글
[iOS] Connecting the Dots, Connecting the VCs... (4) | 2024.04.17 |
---|---|
[iOS] JSON (JavaScript Object Notation) (0) | 2024.04.09 |
[iOS] Closure를 활용한 VC 통신 (feat. prepare method) (0) | 2024.04.01 |
[iOS] 간단한 카운트 화면 만들기 (0) | 2024.03.24 |
[iOS] LifeCycle - App, ViewController, AppDelegate (2) | 2024.03.22 |