홍로그

UIViewController LifeCycle 본문

iOS

UIViewController LifeCycle

성홍민 2021. 1. 28. 23:15

가 화면에 보이는 상태의 변화나 뷰의 레이아웃에 변화가 생기면 뷰 컨트롤러는 여러 가지 메서드를 호출해 서브 클래스가 적절한 대응을 할 수 있게 한다. 또 뷰 컨트롤러는 각각의 생명주기를 가지고 있어 상황에 따라 원하는 로직을 수행하도록 만들 수 있다.

 

 

UIViewController LifeCycle

 

viewDidLoad()

뷰 계층이 메모리에 로드된 직후 호출되는 메서드로 메모리에 처음 로딩 될 때 1회 호출되는 메서드다. 메모리 경고로 뷰가 사라지지 않는 이상 다시 호출되지 않는다. 뷰의 추가적인 초기화 작업을 하기 좋은 시점이다.

 

viewWillAppear(_ animated: Bool)  

뷰가 뷰 계층에 추가되고 화면이 표시되기 직전에 호출되는 메서드로 다른 뷰로 이동했다가 되돌아오면 다시 호출되는 메서드다. 화면이 나타날 때마다 수행해야 하는 작업 등과 같은 뷰의 추가적인 초기화 작업을 하기 좋은 시점이다. 

 

viewDidAppear(_ animated: Bool)  

뷰가 뷰 계층에 추가되어 화면이 표시되면 호출되는 메서드로 뷰를 나타내는 것과 관련된 추가적인 작업을 하기 좋은 시점이다.

 

viewWillDisappear(_ animated: Bool) 

뷰가 뷰 계층에서 사라지기 직전에 호출되는 메서드로 뷰가 생성된 뒤 발생한 변화를 이전 상태로 되돌리기 좋은 시점이다.

 

viewDidDisappear(_ animated: Bool)

뷰가 뷰 계층에서 사라진 후 호출되는 메서드로 뷰를 숨기는 것과 관련된 추가적인 작업을 하기 좋은 시점이다. 시간이 오래 걸리는 작업은 하지 않는 것이 좋다.

반응형