본문 바로가기
iOS/iOS

ViewController 생명주기

by 황민우 2022. 2. 19.

생명주기 [ Life Cycle ]

- 사전적 의미는 기술이나 제품이 세상에 발표된 후로 사용되지 않게 되거나 시장에서 사라질 때까지의 기간이며,

  다른 기술이나 제품에 의해 대체될 때까지의 기간을 나타냅니다.

- 컴퓨터, 정보 처리, 통신, 등, 다양한 분야에서 사용되는 단어입니다.

- iOS에서는 앱 생명주기와 뷰 컨트롤러 생명주기로 구분할 수 있습니다.


ViewController의 특징

- ViewContorller 역할

1, 데이터에 변동 발생 시 내용 업데이트

2, User Interactions(터치, 드래그, 등,,) 처리

3, View 크기 조정, 레이아웃 관리

4, 다른 ViewController 등의 객체들과 상호작용

 

- ViewController 종류

   • Content View Controllers

      - 앱의 구성 요소들을 관리하는 ViewController

      - 메인이 되는 ViewController

 

   • Container View Controllers

      - 다른 ViewController로 부터 정보를 수집

      - View 사이의 이동을 돕거나 자식 ViewController의 내용을 다방면에서 보여주는 방식으로 View를 나타냄

      - 직접적으로 자식 ViewController의 컨텐츠를 관리하지 않고 Root View의 크기,위치 조절만 관리

      - 자신의 View들과 자식 ViewController의 Root View들을 관리

 


뷰 컨트롤러 생명주기 [ View Controller Life Cycle ]

1, loadView

- 화면에 띄워줄 View를 만드는 메서드로, View를 만들고 메모리에 올려줍니다.

- 일반적으로 사용자는 이 메서드를 직접 호출하면 안됩니다.

 

2, ViewDidLoad

- ViewDidLoad 메서드는 뷰의 로딩이 완료 될 때, 시스템에 의해 자동으로 호출됩니다.

- 일반적으로 리소르를 초기화하거나 초기화면을 구성하는 용도로 사용합니다.

- 처음 한 번만 실행해야 하는 초기화 코드가 있을 경우, ViewDidLoad 메서드 내부에 작성하면 됩니다.

 

3, ViewWillAppear

- ViewController에 RootView가 로드된 이후 Window의 View계층으로 더해지기 직전에 호출되는 메서드입니다.

- 다른 View에 갔다가 다시 돌아오는 상황에 처리해야할 코드가 있을 경우, 이 메서드 내부에 작성하면 됩니다.

 

4, ViewDidAppear

- Window에 RootView가 View계층으로 더해진 직후에 호출되는 메서드입니다.

- View가 나타났다는 것을 컨트롤러에게 알려주는 역할을 하며 화면에 적용될 애니메이션을 그려줍니다.

 

5, ViewWillDisappear

- WIndow에 RootView가 View 계층에서 제거되기 직전에 호출되는 메서드입니다.

- View가 삭제되려고 하는 것을 ViewController에게 알려줍니다.

 

6, ViewDidDisappear

- Window에 RootView가 View계층에서 제거된 직후 호출되는 메서드입니다.

- View가 제거되었음을 알려줍니다.

 

ViewController Life Cycle


내용출처

https://zeddios.tistory.com/43

 

iOS ) View Controller의 생명주기(Life-Cycle)

안녕하세요! 오늘은 View Controller생명 주기에 대해 알아보겠습니다. iOS를 시작하려고 하거나, 배우고 있는 분들이라면 반드시 알아야 해요. 하나하나 제대로 알아봅시다 ㅎㅎ View Controller의 생명

zeddios.tistory.com

https://developer.apple.com/documentation/uikit/uiviewcontroller

 

Apple Developer Documentation

 

developer.apple.com

https://velog.io/@danna-lee/iOS-ViewController%EC%9D%98-%EC%83%9D%EB%AA%85%EC%A3%BC%EA%B8%B0#viewcontroller-%EC%83%9D%EB%AA%85%EC%A3%BC%EA%B8%B0

 

iOS) ViewController의 생명주기 공부에서 시작한 ViewController와 View에 대한 고찰

공부는 블로그 글 말고 공식문서로 하자!

velog.io

 

'iOS > iOS' 카테고리의 다른 글

as, as?, as!의 차이  (0) 2022.02.24
Escaping Closure  (0) 2022.02.23
ARC [ Automatic Reference Counting ]  (0) 2022.02.22
SceneDelegate란?  (0) 2022.02.21
App Life Cycle [ 앱 생명주기 ]  (0) 2022.02.18

댓글