티스토리 뷰
프론트엔드 iOS 개발자라면 반드시 알아야할 LifeCycle (생명주기) 에 대해 공부해 보겠습니다.
ViewController LifeCycle
ViewController의 LifeCycle을 알아볼건데요.
각각의 ViewController 마다 생명주기를 가지고 있는데,
여기서 생명주기란 언제 생성되고, 언제 없어지는지를 말합니다.
먼저 생명주기가 어떻게 되는지 아래 그림으로 보시죠.
loadView:
화면에 띄어질 View를 만드는 메소드입니다.
코드로직접 view를 만드는 경우를 제외 하곤 override하지 않는것이 좋습니다. (stroyboard, .nib파일)
Outlet들과 Action들이 이 메소드에서 생성되고 연결 됩니다.
viewDidLoad:
ViewController가 메모리에 로드되고 난 후 한번만 호출 됩니다.
주로, view의 초기화 작업을 담당합니다.
viewWillAppear:
해당 viewController에 접근할때 보여지기 직전과 애니메이션이 구성되기 전에 매번 호출됩니다.
viewDidLoad, viewWillAppear 차이점
예)
1번 ViewController -> 2번 ViewController -> 1번 ViewController 이런식으로 돌아오게 되면
가장 처음 앱실행시엔 viewDidLoad, viewWillAppear 둘다 호출되지만
2번VC 에서 돌아올때는 viewWillAppear만 호출됩니다. (제일 하단에 사진참고)
viewDidAppear:
view가 나타난 후 호출되는 메소드 입니다.
주로, 화면에 애니메이션을 적용할 때 사용합니다.
viewWillDisappear:
ViewContoller가 사라지기 직전에 호출되는 메소드 입니다.
View 생성후 진행했던 작업들을 되돌리는 작업을 할때 사용합니다.
viewDidDisappear:
ViewController가 화면에서 사라지고 난 후 호출되는 메소드
상황에 따라 log 확인해보기
위에 정리해놓은걸 확인해보면서 생명주기를 다시 파악해보세요!
1VC = FirstViewController
2VC = SecondViewController
앱 실행 -> 1VC
1VC -> 2VC
2VC -> 1VC
오늘은 ViewController의 기본적인 LifeCycle에 관해 정리 해봤는데요.
좀더 깊게 파보자면
ViewWillAppear < --- > ViewDidAppear 사이에 생명주기가 더 있습니다.
아래 사진처럼요.
이 부분은 다음 LifeCycle 심화 버전으로 블로깅을 해보겠습니다.
참고
1. https://developer.apple.com/documentation/uikit/uiviewcontroller/1621454-loadview
2. https://baked-corn.tistory.com/
4.https://tono18.tistory.com/11
'iOS' 카테고리의 다른 글
[Swift] 에러처리 (Error Handling) (0) | 2022.06.01 |
---|---|
[iOS] 앱 업데이트 (0) | 2022.05.29 |
[iOS] Reactive Programming 이란? (0) | 2022.05.25 |
[Swift] 옵셔널 체이닝 (Optional Chaining) (0) | 2022.05.22 |
[iOS] TableView, CollectionView 차이점 (0) | 2022.05.20 |
- Total
- Today
- Yesterday
- Swift joined()
- Swift RIBs
- ios
- RIBs tutorial
- Swift inout
- Swift Leetcode
- swift programmers
- iOS error
- 2023년 회고
- Swift 내림차순
- Swift 프로그래머스
- Swift final
- Class
- Swift Error Handling
- swift 고차함수
- swift property
- Swift 알고리즘
- CS 네트워크
- 원티드 프리온보딩
- Swift 프로퍼티
- RTCCameraVideoCapturer
- swift (programmers)
- removeLast()
- Swift init
- swift protocol
- Combine: Asynchronous Programming with Swift
- Swift ModernRIBs
- swift reduce
- Swift
- Swift joined
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |