[iOS][Swift] ViewController LifeCycle

Jay·2023년 8월 22일
0

iOS

목록 보기
24/47

UIViewController의 라이프사이클 이해하기
UIViewController의 라이프사이클은 iOS 앱의 UI 동작 및 관리에 필수적입니다. 각 단계에서 뷰 컨트롤러와 그의 뷰들의 상태와 관련된 특정 작업을 수행할 수 있습니다. 이번 포스트에서는 이러한 라이프사이클 메서드들에 대해 자세히 알아보겠습니다.

1. loadView()

호출 시점: 뷰 컨트롤러가 프로그래밍적으로 생성되는 경우 UI를 로드할 때 사용됩니다.
주요 사용 사례: loadView 내에서 직접 뷰를 생성하고 self.view에 할당합니다.

2. viewDidLoad()

호출 시점: 뷰 계층이 메모리에 로드된 직후.
주요 사용 사례: 초기 설정 작업, 예를 들면 데이터 초기화, 타이머 생성, 네트워크 요청 등을 수행합니다.

3. viewWillAppear(_:)

호출 시점: 뷰가 화면에 나타나기 직전.
주요 사용 사례: 화면 표시 전 UI 업데이트, 예를 들면 키보드 숨김, 탭 바 아이템 업데이트 등을 처리합니다.

4. viewDidAppear(_:)

호출 시점: 뷰가 화면에 완전히 나타난 직후.
주요 사용 사례: 애니메이션 시작, 데이터 새로고침, 사용자 주의를 끌기 위한 UI 변화 등을 수행합니다.

5. viewWillDisappear(_:)

호출 시점: 뷰가 화면에서 사라지기 바로 직전.
주요 사용 사례: 상태 저장, 타이머 중지와 같은 뷰 사라짐 전 작업을 처리합니다.

6. viewDidDisappear(_:)

호출 시점: 뷰가 화면에서 완전히 사라진 후.
주요 사용 사례: 뷰가 사라진 후 필요한 리소스 해제, 다른 뷰 컨트롤러 전환 완료 등의 작업을 수행합니다.

7. viewWillLayoutSubviews()

호출 시점: 뷰가 서브뷰의 레이아웃을 변경하기 직전.
주요 사용 사례: AutoLayout이나 다른 레이아웃 로직을 준비하는 작업을 수행합니다.

8. viewDidLayoutSubviews()

호출 시점: 뷰가 서브뷰들의 레이아웃을 조정한 후.
주요 사용 사례: 레이아웃 완료 후 필요한 추가적인 레이아웃 조정을 수행합니다.

이러한 라이프사이클 메서드들은 각각의 목적과 시점에 따라 다양하게 활용될 수 있습니다. 앱의 동작과 유저 경험을 최적화하기 위해서는 이러한 메서드들을 올바르게 활용하는 것이 중요합니다.

profile
Junior Developer

0개의 댓글