뷰 컨트롤러의 상태변화, 생명주기(Lifecycle)⌚️

DEVJUN·2022년 7월 12일
0

iOS 면접 준비

목록 보기
2/6
post-thumbnail

앱 생명주기가 있듯이 뷰 컨트롤러도 생명주기와 상태변화를 갖는다.
뷰 컨트롤러의 생명 주기는 장면(Scene)의 전환과 복귀에 밀접하게 연관되어 있다.

뷰 컨트롤러는 네 가지 상태로 나눌 수 있다.👇🏻

Appearing : 뷰 컨트롤러가 스크린에 등장하기 시작한 순간부터 등장을 완료하기 직전까지의 상태. 퇴장 중인 다른 뷰 컨트롤러와 교차하기도 하며, 이때 퇴장 중인 다른 뷰 컨트롤러의 상태는 Disappearing이 됨!(뷰가 화면에 나타나는 중)

Appeared : 뷰 컨트롤러가 스크린 전체에 완전히 등장한 상태를 나타냄 (뷰가 화면에 나타난 상태)

Disappearing : 뷰 컨트롤러가 스크린에서 가려지기 시작해서 완전히 가려지기 직전까지의 상태, 또는 퇴장하기 시작해서 완전히 퇴장하기 직전까지의 상태. 이 상태의 뷰 컨트롤러는 새로 등장할 뷰 컨트롤러와 교차하기도 하며, 이때 등장 중인 다른 뷰 컨트롤러의 상태는 Appearing (뷰가 화면에서 사라지는 중)

Disappeared : 뷰 컨트롤러가 스크린에서 완전히 가려졌거나 혹은 퇴장한 상태 (뷰가 화면에서 사라진 상태)

뷰 컨트롤러의 ⭐️라이프사이클❗️은 다음과 같다.

init : ViewController 객체가 생성됨

loadView : 화면에 띄워줄 뷰를 만드는 메소드로 view를 만들고 메모리에 올림(개발자 문서에 직접 호출하지 말라고 되어 있음❗️)

viewDidLoad : 뷰가 메모리에 올라왔을 때 호출되는 메소드(딱 1번 호출됨), 일반적으로 로드된 뷰에 대해 추가적인 초기화 작업을 수행할 때 해당 메서드를 재정의하여 사용한다.

viewWillAppear : 뷰가 이제 화면에 나타날 거라는 신호를 뷰 컨트롤러에게 알리는 역할을 하는 메소드, 해당 뷰가 나타나기 전 처리해야 할 작업을 여기서 처리하면 된다.

viewDidAppear : 뷰 컨트롤러에게 해당 뷰가 뷰의 계층 구조에 추가되었음을 알리는 메소드, 뷰가 화면에 나타남

viewWillDisappear : 뷰가 뷰 계층에서 제거될 것임을 뷰 컨트롤러에 알리는 메서드.

viewDidDisappear : 뷰 컨트롤러의 뷰가 뷰 계층에서 사라진 뒤에 호출되는 메서드

profile
🧑🏻‍💻iOS

0개의 댓글