아요 개발 일기

[iOS] ViewController Life - cycle (생명주기) 본문

iOS

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

소진이 2023. 1. 2. 10:52

Life - cycle (생명주기) 란?

: 보여졌다 사라지는 주기

 

viewController 호출 순서

 

viewDidLoad() 함수

: "called after the controller's view is Loaded into memory"

뷰의 컨드롤러가 메모리에서 로드되고 난 후에 호출됩니다.

화면이 처음 만들어질 때 "한번만" 실행되며,

시스템에의해 자동으로 호출되기때문에 리소스를 초기화하거나 초기화면을 구성하는 용도로 주로 사용됩니다.

 

앱 실행시

1st viewDidLoad

1st viewWillAppear

 

두번째 뷰로 갔을 때

2st viewDidLoad

2st viewWillAppear

 

다시 첫번째 뷰로 

1st viewWillAppear

 


Q. 다시 첫번째 뷰로 왔을 때는 왜 viewDidLoad는 다시 호출이 안되나요?

 

A. 최초 앱 실행시에 viewDidLoad가 실행이 된 후에 뷰들은 stack처럼 쌓입니다.

그래서 맨 처음 view가 앱을 실행할 때 이미 한번 viewDidLoad를 실행했기때문에 호출이 안됩니다.

때문에 다른뷰에 갔다가 다시 돌아오는 상황에 해주고 싶은 처리가 있을 시 viewWillAppear에 해주면 됩니다.


 

 

마치며...

프로젝트를 생성하면 항상 viewDidLoad()가 기본적으로 존재해서 무슨 뜻인지 자세히 알고 싶었는데,

이번 기회에 다른 생명주기 함수들도 공부하는 좋은 기회였던 것 같습니다.

호출되는 함수들을 보니, viewWillAppear 가 많이 사용되는 것 같아서 잘 활용하면 좋을 것 같습니다!

 

'iOS' 카테고리의 다른 글

[iOS] Code base로 UI 구현 (StoryBoard를 사용하지 않고 UI 구현하기)  (0) 2023.01.02
[iOS] UICollectionView  (0) 2023.01.02
[iOS] Apple's MVC 패턴  (0) 2023.01.02
[iOS] UIKit  (0) 2023.01.02
[iOS] 동기(Sync) / 비동기(Async)  (0) 2023.01.02