귀염둥이의 메모

[iOS] ViewController의 Life-Cycle(생명주기) 본문

iOS

[iOS] ViewController의 Life-Cycle(생명주기)

겸둥이xz 2021. 3. 11. 22:28
반응형

ViewController의 생명주기

뷰는 위와 같은 생명 주기를 가지게 된다.

 

뷰의 상태 변화 메서드

뷰가 나타나거나 사라지는 등 뷰가 화면에 보이는 상태가 변화할 때 호출되는 메서드

viewDidLoad

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

viewWillAppear

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

viewDidAppear

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

viewWillDisappear

  • 뷰가 뷰 계층에서 사라지기 직전에 호출되는 메서드
  • 뷰가 생성된 뒤 발생한 변화를 이전 상태로 되돌리기 좋은 시점
  • 다른 뷰로 이동했다가 되돌아오면 재호출 되며, 화면이 나타날 때마다 수행하는 작업을 하기 좋은 시점

viewDidDisappear

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

 

뷰의 레이아웃 변화 메서드

뷰가 생성된 후 바운드 및 위치 등의 레이아웃에 변화가 발생했을 때 호출되는 메서드.

viewWillLayoutSubviews

  • 뷰가 서브 뷰의 레이아웃을 변경하기 직전에 호출되는 메서드
  • 서브뷰의 레이아웃을 변경하기 전에 수행할 작업을 하기 좋은 시점

viewDidLayoutSubviews

  • 서브뷰의 레이아웃이 변경된 후 호출되는 메서드
  • 서브뷰의 레이아웃을 변경한 후 추가적인 작업을 수행하기 좋은 시점

 

 

 

<참고자료>

www.boostcourse.org/mo326/joinLectures/12973?isDesc=false

반응형
Comments