아요 개발 일기
[iOS] ViewController Life - cycle (생명주기) 본문
반응형
Life - cycle (생명주기) 란?
: 보여졌다 사라지는 주기
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 |