📱 UIViewController 생명주기(View Life Cycle) 간단 정리
iOS에서 화면 하나하나는 UIViewController로 구성됨
이 컨트롤러는 화면이 로드되고 보여지고 사라지는 일련의 과정 속에서
특정 메서드들이 자동으로 호출됨
→ 이를 뷰 컨트롤러 생명주기라고 함 🤓
주요 메서드 요약
메서드 | 언제 호출? | 주로 하는 일 |
viewDidLoad() | 뷰가 메모리에 올라올 때 (딱 1번) | 초기 UI 설정, 데이터 불러오기 |
viewWillAppear(_:) | 화면이 보이기 직전 | 화면 갱신, 네비바 설정 등 |
viewDidAppear(_:) | 화면이 보인 직후 | 애니메이션 실행, 로딩 종료 처리 |
viewWillDisappear(_:) | 화면이 사라지기 직전 | 저장 처리, 타이머 중지 등 |
viewDidDisappear(_:) | 화면 완전히 사라진 후 | 리소스 정리, 상태 리셋 등 |
간단 코드 예시
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 - 화면 나타난 직후")
}
💡 팁
- viewDidLoad는 한 번만 호출됨 → 초기 설정용으로 적절
- viewWillAppear는 화면 돌아올 때마다 호출됨 → 데이터 최신화에 좋음
- viewDidAppear는 화면 표시 이후 처리 → 애니메이션 시작, 로딩 종료 등에 사용
SwiftUI에서는 onAppear, onDisappear로 비슷한 처리가 가능함
하지만 UIKit에서는 위 생명주기 흐름을 명확히 이해하고 활용하는 게 중요하다!!!
'STUDY > iOS' 카테고리의 다른 글
[swift] for - in과 forEach문에 대해 알아보자! (0) | 2025.04.29 |
---|---|
[swift] 화면 전환 | push, present (0) | 2025.04.19 |
다크모드 / 라이트 모드 전환 및 적용하는 방법 | 벡터 이미지 적용하기 (0) | 2025.03.29 |
iOS 개발 전에 정리하는 코드 스타일 가이드 📌 | 효율적인 협업과 유지보수를 위해... (0) | 2025.03.24 |
[Swift] 이벤트 소비와 전파 (0) | 2025.02.20 |