[iOS] View Controller Life Cycle

고재경·2020년 12월 8일
0

안드로이드 액티비티에 생명 주기가 있듯 iOS 뷰 컨트롤러에도 생명 주기가 존재합니다. 오늘 포스팅에서는 iOS의 뷰 컨트롤러에 대한 내용을 다뤄보겠습니다.

1. View Controller Life Cycle

view의 상태는 크게 4가지로 구분할 수 있습니다.

  • Appearing : 뷰가 화면에 나타나는 중인 상태
  • Appeared : 뷰가 화면에 나타난 상태
  • Disappearing : 뷰가 화면에서 사라지는 중인 상태
  • Disappeared : 뷰가 화면에서 사라진 상태

2. View Controller Life Cycle 관련 메서드

View를 관리하기 위해 뷰컨트롤러 클래스에 UIViewController를 상속받아 사용하게 됩니다. 우리는 UIViewController클래스에 정의된 아래 메서드들을 override하여 View를 관리할 수 있습니다.

앞에 super. 를 먼저 호출해주는 이유는 우선 UIViewController에 정의된 메서드의 내용을 실행시키고 우리가 원하는 내용을 실행시키기 위해서입니다.

viewDidLoad()
view가 메모리에 올라간 직후에 호출되는 메서드로 앱을 실행할 때 한번만 호출되는 메서드이다. 앱 실행 후 변하지 않는 설정값들을 설정해준다.

viewWillAppear()
뷰가 뷰 계층에 추가되기 직전에 실행되는 메서드로 화면에 표현되기 전에 처리해야 되는 작업(변경된 데이터 업데이트 등)들을 처리하기 위한 코드를 작성합니다.

viewDidAppear()
뷰가 화면에 완전히 나타난 후 실행되는 코드로 변경된 데이터 또는 애니메이션 등의 코드를 작성합니다.

viewWillDisappear()
뷰가 화면에서 사라지게 되는 시점으로 일반적으로 해당 시점에서 수행해야 할 작업은 거의 없습니다.

viewDidDisappear()
뷰가 화면에서 완전히 사라지고 호출되는 메서드로 뷰가 화면에 없는 동안 실행되면 안되는 작업을 중단시킬때 사용합니다.


References

  • https://velog.io/@delmasong/Understand-the-View-Controller-LifeCycle
  • https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/WorkWithViewControllers.html

0개의 댓글