[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' 카테고리의 다른 글
  • [iOS] Our Bridge 개발 회고
  • [iOS] Swift SDK for android 번역문
  • 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
  • 전체
    오늘
    어제
    • 분류 전체보기 (57)
      • iOS (5)
      • swift (16)
      • UIKit (0)
      • swiftUI (3)
      • 알고리즘 (9)
      • CS (8)
      • 면접 (0)
      • Flutter (11)
      • 회고 (3)
      • 잡담 (2)
  • 블로그 메뉴

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

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    모듈화
    fluuter
    네이버 부스트캠프 후기
    ios
    2025 토스 Next
    Swift
    FirebaseAuth
    부스트캠프 10기
    Dio
    후기
    Flutter
    android
    fatal error
    SDK
    Provider
    챌린지
    네이버 부스트캠프
    tuist
    boj
    UIImagePickerController
    Firebase
    SwiftUI
    백준
    cached_network_image
    go_router
    토스
    Riverpod
    부스트캠프
    구슬 탈출2
    ISAR
  • 최근 댓글

  • 최근 글

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

티스토리툴바