[iOS][Swift] View Controller 생명주기

CastleSilver·2023년 2월 16일
0

iOS 공부

목록 보기
3/13

loadView()

역할

컨트롤러를 관리하는 뷰를 생성하거나 로드한 후 뷰 프로퍼티로 배정 함

정의

func loadView()

상세

  • 직접적으로 호출 불가(super.loadView() 처럼 호출 해야 함).
  • 뷰 프로퍼티가 호출되었으나 nil 상태일 경우 호출 됨
  • 만약 VC가 nib file과 관련있다면 nib file로 부터 뷰를 로드하고 그렇지 않다면 UIView 오브젝트를 생성함

viewDidLoad()

호출 시점

컨트롤러 뷰가 메모리에 올라가면 호출

정의

func viewDidLoad()

상세

  • View 계층 구조가 nib 파일에서 로드되었는지 혹은 메소드에서 프로그래밍 방식으로 생성되었는지 여부에 관계없이 호출 됨
  • nib 파일에서 로드된 뷰에서 추가 초기화를 수행하려면 loadView() 정의

viewWillAppear()

호출 시점

컨트롤러 뷰가 메모리에 올라가면 호출

정의

func viewWillAppear(_ animated: Bool)

상세

  • VC의 View가 view 계층 구조에 추가되기 직전에 호출 됨
  • View에 보여지는 task들을 커스텀 하기 위해 사용 (ex. 상태 바의 스타일을 수정할 때)

viewDidAppear()

호출 시점

뷰가 계층 구조에 추가 될 때

정의

func viewDidAppear(_ animated: Bool)

상세

  • View를 띄우는 것과 관련된 추가적인 task들을 수행하기 위해 사용 (ex. 상태 바의 스타일을 수정할 때)

ViewWillDisappear()

호출 시점

뷰가 계층 구조에 제거 되기 전에 호출

정의

func viewWillDisappear(_ animated: Bool)

상세

  • View가 계층구조에서 제거되기 전에, 관련 동작이 수행되기 전에 호출
  • 예를 들어, viewDidAppear()에서 만들어졌던 상태 바의 스타일 변경 등을 되돌릴 때 사용

viewDidDisappear()

호출 시점

뷰가 계층 구조에서 제거 되었을 때 호출

정의

func viewDidDisappear(_ animated: Bool)

상세

  • View를 숨기거나 해제할 때 추가적인 작업을 수행할 때 사용

viewDidUnload() => Deprecated

profile
우당탕탕 비전공자 개발자

0개의 댓글