일반적으로 앱을 사용할 때는 해당 앱의 다양한 화면을 오가며 사용합니다.
현재 화면에서 어떠한 작업을 수행하고 다음 화면으로 넘어갈 때 현재 화면의 작업을 저장하거나 다음 화면으로 넘어갈 준비를 취해야지만 원활한 앱 사용이 가능하므로 특정 작업을 취해야 하며, (장바구니 기능, 좋아요 기능, 댓글 기능 등) 이러한 특정 작업은 뷰 라이프 사이클(View Life Cycle) 관련 메서드에 작성합니다.
앱의 현재 사용화면에서 특정 화면으로 넘어갈 때마다 운영체제에 의해 자동으로 작동하는 함수(메서드)들이 존재하며, 이러한 메서드 실행의 일련 과정을 뷰 라이프 사이클(View Life Cycle)이라 부릅니다.
✅ loadView( )
loadView()
는 코드로 작성한 뷰(view)를 메모리에 올릴 시점에 사용되는 메서드입니다. (뷰를 메모리에 올리는 시점에 사용)
loadView()
는 직접적으로 호출하여 사용하는 것을 권장하지 않기 때문에 뷰를 코드로 작성하는 경우를 제외하곤 사용하지 않는 것을 권장합니다.\또한
loadView()
는viewDidLoad()
보다 먼저 호출되며, 사용 시 상위 메서드 호출해서는 안 됩니다. (super.loadView()
작성 금지X)✅ viewDidLoad( )
viewDidLoad( )
는 메모리에 할당되어 있는 데이터(객체 및 변수 등...)와 뷰(view)의 연결이 끝난 시점에 호출되는 메서드입니다.
viewDidLoad( )
는 뷰가 생성되었을 때 딱 한 번만 호출되는 메서드입니다. 때문에 초기설정 및 네트워크 호출처럼 한 번만 호출할 코드 등을 주로viewDidLoad( )
에 작성하여 사용합니다.
✅ viewWillAppear( )
viewWillAppear( )
는 뷰(view)가 화면에 출력되기 전에 호출되는 메서드입니다.새로운 화면으로 이동할 때마다 호출되는 메서드이며, 화면이 출력되기 전에 호출되기 때문에 주로 데이터 갱신 및 화면 설정 등의 코드를 주로
viewWillAppear( )
에 작성하여 사용합니다.✅ viewDidAppear( )
viewDidAppear( )
는 뷰(view)가 화면에 완전히 출력된 후 호출되는 메서드입니다.✅ ViewWillDisappear( )
ViewWillDisappear( )
는 현재 뷰(view) 화면이 사라지기 전에 호출되는 메서드입니다.현재 사용 중인 화면에서 작업한 기록 등을 저장하는 코드 등을 주로
ViewWillDisappear( )
에 작성하여 사용합니다.✅ viewDidDisappear( )
viewDidDisappear( )
는 뷰(view)가 화면에 완전히 사라진 후 호출되는 메서드입니다.
뷰 라이프 사이클의 메서드 호출 시점은 스크린의 종류에 따라 다릅니다. (호출 순서는 동일)