[iOS] View LifeCycle

2024. 3. 28. 17:32·iOS

View LifeCycle (뷰 생명주기)

iOS 개발에서 뷰 컨트롤러는 애플리케이션 내부 구조의 기초이다. 뷰 컨트롤러는 스토리보드에 있는 모든 뷰의 부모이다.
각 UIKit 애플리케이션에는 최소한 하나의 ViewController가 있다. 이는 사용자 인터페이스와 다양한 부분 간의 전환을 용이하게 한다.

ViewController가 뷰 계층 구조에 추가되면 함수는 다음 순서로 호출된다.

viewDidLoad()

  • viewDidLoad 메서드는 뷰 컨트롤러의 뷰가 메모리에 로드된 직후 호출된다.
  • 일반적으로 한 번만 호출되며, 뷰의 초기화 및 초기 설정 작업을 수행하는 데 사용된다.
  • 데이터 로딩이나 화면 갱신과 관련된 작업은 주로 이 시점에서 수행된다.

viewWillAppear(_:)

  • viewWillAppear 메서드는 뷰가 화면에 나타나기 직전에 호출된다.
  • 뷰 컨트롤러가 화면에 표시되기 전에 필요한 작업을 수행할 수 있다.
  • 데이터 업데이트나 화면 구성 변경 등을 수행할 수 있다.

viewWillLayoutSubviews()

  • viewWillLayoutSubviews 메서드는 뷰가 하위 뷰들의 레이아웃이 재구성되기 직전에 호출된다.
  • 뷰의 크기 또는 위치가 변경될 때, 또는 하위 뷰의 레이아웃이 재조정될 때 이 메서드가 호출된다.
  • 주로 레이아웃 변경 전에 필요한 작업을 수행할 때 사용된다.

viewDidLayoutSubviews()

  • viewDidLayoutSubviews 메서드는 뷰와 하위 뷰들의 레이아웃이 완전히 재구성된 후에 호출된다.
  • 주로 레이아웃 변경 후에 추가 작업을 수행할 때 사용된다.
  • 레이아웃이 변경된 후에 특정 뷰의 프레임을 조정하거나 애니메이션 효과를 추가할 수 있다.

viewDidAppear(_:)

  • viewDidAppear 메서드는 뷰가 화면에 완전히 표시된 후에 호출된다.
  • 화면이 완전히 로드되었으며 사용자와의 상호작용이 가능한 상태이다.
  • 화면에 필요한 추가 작업을 수행할 수 있다.

viewWillDisappear(_:)

  • viewWillDisappear 메서드는 뷰가 화면에서 사라지기 직전에 호출된다.
  • 화면이 사라지기 전에 필요한 정리 작업이나 데이터 저장 등을 수행할 수 있다.

viewDidDisappear(_:)

  • viewDidDisappear 메서드는 뷰가 화면에서 완전히 사라진 후에 호출된다.
  • 화면이 사라진 후에 추가적인 정리 작업을 수행할 수 있다.

결론

라이프 사이클 기능과 상태 전환은 다음과 같이 요약할 수 있다.

'iOS' 카테고리의 다른 글
  • Logging Error: Failed to initialize logging system. Log messages may be missing. If this issue persists, try setting IDEPreferLogStreaming=YES in the active scheme actions environment variables.
  • [iOS] Cocoa Touch Framework
GwanSon
GwanSon
버그는 도전, 코드는 해결. 열정있는 개발을 하자.
  • GwanSon
    관슨의 개발일지
    GwanSon
  • 전체
    오늘
    어제
    • 분류 전체보기 (56)
      • iOS (3)
      • swift (15)
      • UIKit (0)
      • swiftUI (2)
      • 알고리즘 (8)
      • CS (8)
      • 면접 (11)
      • Flutter (4)
      • 회고 (2)
      • 잡담 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    부스트캠프
    챌린지
    boj
    토스
    네이버 부스트캠프
    후기
    네이버 부스트캠프 후기
    백준
    2025 토스 Next
    ios
    모듈화
    tuist
    부스트캠프 10기
    Swift
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
GwanSon
[iOS] View LifeCycle
상단으로

티스토리툴바