[iOS] ViewController Life Cycle

RudinP·2024년 2월 6일
0

Study

목록 보기
136/227

viewDidLoad()

  • rootView가 메모리에 로드된 후 호출
  • LifeCycle중 딱 한 번만 호출
  • 초기화가 필요한 부분(딱 한 번만 실행해야 하는 것)은 여기서 구현

아래 함수들은 반복해서 호출 가능

viewWillAppear(_:)

  • rootView가 계층에 추가되기 직전 호출
  • 화면이 표시되기 전에 최신 데이터를 리로드 하고자 하면 여기서 구현

viewIsAppearing(_:)

  • rootView가 계층에 추가된 직후 호출
  • 뷰의 배치를 바꾸는 코드를 여기에 구현
    • 그러나, AutoLayout 사용 시 구현할 일 거의 X
  • 뷰의 크기와 관련하여 정확하게 계산하고자 한다면 viewIsAppearing 이후에 해주어야 함.

viewDidAppear(_:)

  • 화면이 표시된 다음 호출

viewWillDisappear(_:)

  • rootView가 뷰 계층에서 제거되기 직전 호출
    • 화면이 사라진 후가 아니다. 뷰 계층에서의 변화가 발생하여야 함.
    • 화면이 사라지더라도 메모리에는 여전히 뷰 컨트롤러가 남아있고, 뷰 계층에 변화가 없음.
    • 다른 화면으로 전환 시에는 호출

viewDidDisappear(_:)

  • rootView가 뷰 계층에서 제거된 직후 호출

패턴

  • 이름이 view로 시작
    • rootView를 가리킴.
  • 파라미터는 animated
    • true면 애니메이션 효과 추가
  • 반드시 상위 구현 super.부터 호출해야 한다.
profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글