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

Din의 개발노트·2021년 6월 20일

안녕하세요:)
오늘은 ViewController의 Life Cycle(생명주기)에 대해서 알아보도록 하겠습니다..!

ViewController들은 iOS 앱에서 중요한 역할을 하고있고, 앱의 뼈대를 만들고 있습니다.
그렇기 때문에 ViewController의 Life Cycle은 상당히 중요합니다.

Life Cycle의 흐름을 그림으로 보겠습니다.

1. viewDidLoad()

"뷰가 로드 되었다"라는 뜻으로 프로젝트를 만들어보면 보이는 viewDidLoad() 함수입니다.

  • 이 메소드가 호출되는 시점에서는 이미 Outlet과 Action들이 모두 메모리에 위치하고 있습니다. 그러므로 사용자에게 화면이 보여지기 전 데이터를 뿌려주는 코드를 작성할 수 있습니다.
  • 이 메소드는 ViewController가 실행되면서 오로지 한 번만 호출됩니다. 그러므로 이 메소드 안에서 한 번만 실행할 코드들을 작성해 주시면 됩니다. 보통 초기화 코드를 작성할때 활용합니다.

2. viewWillAppear(_:)

viewWillAppear는 뷰가 화면에 나타날 거라는 신호를 알려주는 역할을 합니다.

  • 이 메소드는 Root View가 나타나기 직전에 호출되는 메소드입니다.
  • 처음 앱이 실행되고 첫 화면이 띄어질 때 호출이 되는 것은 viewDidLoad()와 동일하지만 화면 전환을 통해 다시 현재의 화면으로 돌아올 때도 viewWillAppear(_:) 메소드가 호출됩니다.

3. viewDidAppear(_:)

viewDidAppear는 뷰가 나타났다는 것을 알리는 역할을 합니다.

  • ViewController의 뷰가 완전히 화면에 나타난 후 호출되는 메소드입니다.

4. viewWillDisappear(_:)

  • viewWillDisappear는 뷰가 사라지기 직전에 호출되는 함수입니다.

5. viewDidDisappear(_:)

  • viewDidDisappear는 뷰가 사라지고 나서 호출되는 함수입니다.
  • 화면이 사라지고 나서 필요없는(멈춰야하는) 작업들을 실행할 수 있습니다.

ViewController Life Cycle(생명주기)에서 사용하는 메소드에 대해서 알아보았습니다. 이러한 메소드들이 항상 필요한 것은 아니지만 숙지하고 있어야 합니다.

감사합니다:)

profile
iOS Develpoer

0개의 댓글