아리의 iOS 탐구생활

[iOS/UIKit] ViewController의 Life cycle 본문

Swift/iOS

[iOS/UIKit] ViewController의 Life cycle

Ari Lee 2021. 10. 22. 20:12
반응형

# ViewController의 생명주기란?

각각의 ViewController들은 생명주기란 어떤 것이냐면 말그대로 ‘보여졌다. 사라지는’ 주기를 이야기한다.

생명주기 관련 메서드들을 잘 활용하면 화면을 재구성하거나 할 때 유용하게 쓰이므로 잘 알아두는 것이 좋다.

 

 

  • 정상적인 ViewController 생명주기를 요약하자면 Appearing 상태를 거쳐서 Appeared 상태가 진행되고, 만약 종료하려면 Disappearing 상태를 거쳐서 Disappeared 상태로 진행된다.
  • 정상적이지 않은 등장하는 도중에 다시 퇴장되는 경우가 있는데 이럴 때는 Appearing 상태에서 Appeared상태로 가지않고 곧바로 Disappeared 상태로 가게된다.
  • 사용자가 홈버튼을 눌러 앱을 백그라운드 상태로 보냈을 때도 마찬가지로 화면이 퇴장하는 변화가 발생하는데 단 이 때에는 다른 ViewController와 교차하지 않는다.

 

 Disappearing 상태는 두가지 경우로부터 만들어진다.
  1. 새로운 ViewController가 등장하여 현재의 화면을 덮는 경우
  2. 이전화면으로 돌아가기 위해 현재의 ViewController가 사라지는 경우

 

# ViewController 상태변화 메서드

사실 설명할 것도 없이 메소드명만 봐도 뭐하는 애인지 알수가 있다. (이래서 네이밍이 중요…)

 

  • ViewDiaLoad ViewController를 생성. 한번만 호출한다.
  • ViewWillAppear 뷰 계층 구조에 추가되기 직전에 호출된다.
  • ViewDidAppear 뷰 계층 구조에 추가된 직후에 호출된다.
  • ViewWillDisappear 뷰 게층 구조에서 사라지기 직전 호출된다.
  • ViewDidDisappear 뷰 게층 구조에서 사라진 직후 호출된다.

 

이론적으로 보는 것 보다 앱을 직접 실행해서 메서드들을 확인해보면 좀더 빠른 이해가 가능하다.

 

 

  • ViewDiaLoad, ViewWillAppear, ViewDidAppear

 

  • ViewDidLoad, ViewWillDisappear, ViewWillAppear, ViewDidDisappear, ViewDidAppear

 

  • ViewWillDisappear, ViewWillAppear, ViewDidDisappear, ViewDidAppear

 

 

Reference

 

Apple Developer Documentation

 

developer.apple.com

 

[iOS 앱개발] View Controller의 Life Cycle

안녕하세요 Pingu입니다~🐧 오늘은 iOS 앱개발에서 아주아주 중요한 ViewController의 Life cycle에 대해 알아보려고 합니다. 제일 처음 iOS 공부를 시작할 때 공부한 내용인데, 정리는 이제야 해서 올리

icksw.tistory.com

 

반응형
Comments