iOS 개발공부📱

View Controller Lifecycle

성실농장주 2023. 9. 11. 16:55

처음 ios 공부를 시작하고 가장 보는 메소드는 viewDidLoad()인거 같습니다.

처음에는 "저게 뭐야.. 그냥 앱이 시작하면 동작하는 코드를 작성하는 곳이구나!"라고 지나쳤습니다.

오늘은 viewDidLoad와 같이 뷰 컨트롤러의 상태에 따라 호출되는 메소드들을 학습해 보겠습니다.

View Controller Lifecycle

오늘 배울것은 "view controller liefcycle"입니다.

한국어로는 "뷰 컨트롤러 생명주기"라고 부릅니다.

 

코드의 의해 뷰 컨트롤러가 생겨나고 뷰 컨트롤러가 사라질때까지 특정 상태들에 따라 호출되는 메소드들 입니다.

 

관련 methods

viewDidLoad()

  • 보통 맨 처음으로 호출되는 함수라고 여겨짐
  • 해당 함수는 메모리에 로드되었을때 호출
  • 주로 정의되는 내용: 뷰 속성 설정API 설정 등이 해당 함수 내에서 수행된다.

viewWillAppear(_:)

  • 뷰 컨트롤러가 뷰 구조에 추가되기 전에 호출
  • 이 시점에 해당 뷰 컨트롤러의 frame과 bounds이 설정이 된다.
  • 해당 함수는 매번 스크린에 뷰가 나타날때 호출된다.

viewDidAppear(_:)

  • 뷰 컨트롤러가 뷰 구조에  추가될때 호출
  • animation 기능을 추가하고 싶을때 해당 함수에서 정의

NOTE

viewDidLoaded()는 메모리에 올라오는 순간만 호출되지만

viewDidAppear 같은 경우 스크린에 해당 뷰가 보여지는 순간순간 호출

viewWillDisappear(_:)

  • 뷰 구조로부터 사라지기전 해당 함수가 호출
  • 사용자 데이터를 저장, 네트워크 테스크처리를 취소

viewDidDisappear(_:)

  • 뷰가 뷰 구조로부터 사라지게 될때 호출
  • 데이터 취소, 석 이벤트와 같은 업무들이 수행될 수 있다.

 

 

굉장히 기초적인 인터뷰 질문이므로 면접 준비시 대비!

 

 

Reference

https://www.swiftanytime.com/blog/view-controller-lifecycle

 

View Controller Life Cycle - Swift Anytime

In iOS development, the view controllers are the foundation of the Application's internal structure. The View Controller is the parent of all the views present on a storyboard. Each UIKit application has at least one ViewController. It facilitates the tran

swiftanytime.ghost.io