View Life Cycle
뷰가 가지는 상태와 상태가 변화하면서 부르는 메서드에 대해 찾아봤다.
뷰의 상태가 변화하면, 뷰 컨트롤러는 자동으로 자기가 가진 메서드를 부르면서 변화에 맞게 반응함!
예를 들어 viewIsAppearing(_:)을 통해 화면에 나타나는 뷰를 준비시킨다든지, viewWillDisappear(_:)로 현재 데이터나 현재 상태를 저장할 수 있다~


위 이미지들이 뷰 생명주기를 가장 잘 나타낸 것 같은데
각각 상태가 변화할 때마다 불리는 메서드들이 잘 정리되어 있음!!
불리는 메서드들은 사실 말 그대로다.
우리말로 치면 이제곧나타날거임/이제나타남/사라짐 … 등등이 되었겠지..🥹 부럽다
- viewDidLoad: 뷰 컨트롤러 클래스가 생성될 때 가장 먼저 실행됨. 딱 한 번 실행되기 때문에 초기화할 때 사용할 수 있다.
- viewWillAppear: 뷰가 생성되기 직전에 항상 실행됨!!
- viewIsAppearing: 뷰가 생성되면서 실행
- viewDidAppear: 뷰가 생성된 후에 실행됨. 받은 데이터를 뿌리거나 애니메이션 등의 작업은 여기에서
- viewWillDisappear: 뷰가 사라지기 직전에 실행
- viewDidDisappear: 뷰가 사라진 뒤에 실행
데이터를 새로고침하거나 화면전환 애니메이션 등의 작업을 할 때, 적절한 위치에서 하기 위해 뷰 생명주기를 잘 알아야 한다!!
예를 들어 캘린더 앱이 있을 때, 새로 일정을 저장(pop-up으로)하고 캘린더로 돌아가기 했을 때
만약 새로고침 코드가 viewDidLoad에 있다면, 다시 꼈다 켜지 않는 이상 새로고침이 되지 않아 반영이 안 될 수 있다.
이건 코드 작성 해보면 바로 느낌을 알 수 있을 것!
'공부하자! > iOS' 카테고리의 다른 글
SceneDelegate 탈탈 털기 (2) | 2023.09.22 |
---|---|
[에러 잡기] Property 'title' with type 'UILabel' cannot override a property with type 'String?' (0) | 2023.09.20 |
App Life Cycle, 앱의 생명 주기 (0) | 2023.07.05 |
RxSwift 기본 개념 (0) | 2022.10.25 |
[메모마무] 업데이트 이것저것 (1) | 2022.10.21 |