iOS. View Life Cycle

sanghee·2021년 12월 17일
0

매주 진행하는 면접스터디에서 아래의 질문들에 대한 정리를 모은 글입니다.
Interview_Question_for_Beginner/iOS
iOS ) View Controller의 생명주기(Life-Cycle)

📌View Life Cycle

앱은 하나 이상의 뷰로 구성되어 있으며, 각각의 뷰는 라이프 사이클을 가지고 있다. 순환적으로 발생하기 때문에 화면 전환에 따라 로직을 적절한 곳에서 실행시켜야 한다.

0. loadView

컨트롤러가 관리하는 뷰를 만드는 역할을 한다. 뷰를 만들고 메모리에 올린다. 이후 viewDidLoad가 호출된다.

이 메서드를 직접 호출하면 안된다.

1. viewDidLoad

ViewController가 메모리에 로드된 후 호출된다. 특별한 경우가 아니라면 딱 한번 실행되기 때문에 초기화할 때 사용할 수 있다.

2. viewWillAppear

뷰가 생성되기 직전에 실행된다. 뷰가 나타나기 전에 실행해야 하는 작업들을 여기서 한다.

또는 네비게이션 컨트롤러에서 다른뷰에 갔다가 다시 돌아오는 상황에 해주고 싶은 로직을 위치시킨다. A뷰에서 B뷰에 갔다가 다시 A뷰로 이동하는 경우 A뷰는 이미 메모리에 로드되었기 때문에 viewDidLoad는 호출되지 않고, viewWillAppear가 호출된다.

3. viewDidAppear

뷰가 생성된 후 실행된다. 데이터를 받아서 화면에 뿌려주거나 애니메이션 등의 작업을 하는 로직을 위치시킬 수 있다. viewWillAppear에서 로직을 넣었다가 뷰에 반영이 안되는 경우가 있기 때문이다.

4. viewWillDisappear

뷰가 사라지기 직전에 실행된다.

5. viewDidDisappear

뷰가 사라진 후 실행된다.

6. viewDidUnload

메모리에서 해제될 때 실행된다.

profile
👩‍💻

0개의 댓글