본문 바로가기
STUDY/iOS

[iOS] ViewController의 생명주기

by 23g 2025. 4. 18.

📱 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에서는 위 생명주기 흐름을 명확히 이해하고 활용하는 게 중요하다!!!

최근댓글

최근글

skin by © 2024 ttutta