[iOS] View Controller Life Cycle

r1verfuture·2022년 4월 18일

iOS

목록 보기
27/30

View Controller

  • 앱들을 이루고 있는 것
  • iOS 는 Navigation Controller 를 사용해 화면을 전환할 때 LIFO (Last In First Out) 구조 (= Stack 구조) 를 사용한다. (화면이 하나만 존재하는 앱인 경우에는 Navigation Controller 를 사용하지 않지만 화면이 하나뿐인 앱은 거의 없기 때문에 Navigation Controller 를 사용하는 것이 일반적이라고 할 수 있다.)
  • Life Cycle : init -> loadView -> viewDidLoad -> viewWillAppear -> viewDidAppear -> viewWillDisappear -> viewDidDisappear -> viewDidUnload

init

  • ViewController 객체가 생성된다.

loadView

  • View 를 메모리에 로드한다.

viewDidLoad

  • View 의 Controller 가 메모리에 로드된 뒤 호출된다.
  • View 의 로드가 완료되었을 때 시스템에 의해 자동으로 호출된다.
  • 보통 리소스를 초기화하거나 초기 화면을 구성하는 코드를 이 메소드 안에 구현한다.
  • 화면이 처음 만들어질 때 한번만 실행되기 때문에 처음 한번만 실행해야 하는 초기화 코드가 있을 때 사용한다.

viewWillAppear

  • View 가 표시되기 직전에 호출된다.
  • View 가 나타날 것이라는 사실을 Controller 에게 알린다.
  • 보통 다른 View 에 갔다가 다시 돌아올 때 해줄 작업을 이 메소드 안에 구현한다.

viewDidAppear

  • View 가 표시된 후 호출된다.
  • View 가 나타났다는 사실을 Controller 에게 알린다.
  • 보통 화면에 적용될 애니메이션 작업을 이 메소드 안에 구현한다.

viewWillDisappear

  • View 가 사라지기 직전에 호출된다.
  • View 가 사라질 것이라는 사실을 Controller 에게 알린다.

viewDidDisappear

  • View 가 사라진 후 호출된다.
  • View 가 사라졌다는 사실을 Controller 에게 알린다.

viewDidUnload

  • View 가 메모리에서 해제된 뒤 호출된다.

참고

profile
#iOS #Swift #Developer #Python

0개의 댓글