처음 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
'iOS 개발공부📱' 카테고리의 다른 글
Frame과 Bounds(그 중에서 Frame!!) (0) | 2023.09.21 |
---|---|
Responder, Responder Chain (0) | 2023.09.10 |
MVVM pattern (0) | 2023.09.04 |