DevCho
Developer Blog
DevCho
반응형
전체 방문자
오늘
어제
  • 분류 전체보기 (48)
    • IOS (31)
      • Xcode (7)
      • Assets (1)
      • Swift (20)
      • UI (1)
      • SwiftUI (1)
      • Build (1)
    • Flutter (4)
      • Install (4)
      • Dart (0)
    • Rust (0)
    • 유용한 사이트 소개 (1)
    • 개발자의 아이템 (1)
    • Terminal (1)
    • Mac (2)
    • Git (1)
    • 회고 (1)
    • Java (2)
      • Java 기본 사용법 (2)
      • Collections (0)
    • 개발자의 글쓰기 (0)
    • 디자인 패턴 (1)
    • JavaScript (2)
    • Kotlin (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • optional
  • Java
  • Terminal
  • Storyboard
  • struct
  • Xcode Theme
  • dart
  • 제어문
  • Swift
  • SwiftUI
  • flutter
  • Dark mode
  • 스위프트
  • random number
  • nil
  • swift random
  • xcode13
  • xcode
  • chocolatey install
  • chocolatey 설치
  • dart 설치
  • CLASS
  • IOS
  • 플러터 설치
  • flutter install
  • func
  • flutter dart
  • flutter 설치
  • MAC
  • chocolatey

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
DevCho

Developer Blog

IOS/Swift

[Swift] ViewController의 lifecycle methods 알아보기

2021. 12. 28. 23:58
반응형

ViewController의 lifecycle methods

viewController은 화면에 보여지기 전부터 화면에서 사라질 때까지 다음 5단계의 lifecycle 메서드들을 수행한다. 

 

viewDidLoad

↓

viewWillAppear

↓

viewDidAppear

↓

viewWillDisappear

↓

viewDidDisappear

 

 

각 단계에 맞는 작업을 수행하는 것이 매우 중요하다. 아래에서 각 메서드가 언제 불리는지 알아보도록 하자.

 

 

viewDidLoad

view가 로드됐을 때 한 번만 불린다. 이 단계에서는 view를 초기화 하는 작업을 한다.

 

viewWillAppear

view가 사용자에게 보여지기 전에 불린다. UI 컴포넌트의 visibility를 조절하거나 할 때 유용하다.

이 메서드는 view가 백그라운드에 내려갔다 왔을 때도 불리므로 여러번 불린다.

 

viewDidAppear

view가 사용자에게 보여졌을 때 시작한다. 애니메이션을 시작하거나, UI변화를 시작해야 할 때 사용한다.

이 메서드는 view가 백그라운드에 내려갔다 왔을 때도 불리므로 여러번 불린다.

 

viewWillDisappear

view가 사라지기 전에 불린다. 애니메이션을 중지하거나 UI 변화를 중지시킬 때 사용한다.

이 메서드는 view가 백그라운드에 내려갈 때 불리므로 여러번 불린다.

 

viewDidDisappear

view가 화면에서 사라진 후에 불린다. 

이 메서드는 view가 백그라운드에 내려갈 때 불리므로 여러번 불린다.

 

 

ViewController의 Lifecycle을 아는 것이 중요한 이유

여러 View가 있을 때 하나의 View에서 다른 View로 Seque하거나 View가 백그라운드에 갔다가 내려오는 경우 ViewController의 Lifecycle 메서드들이 계속해서 불린다. 만약 잘못된 부분에서 인스턴스를 만들거나 한다면 필요한 부분에서 객체에 대한 참조가 불가능핟거나 너무 여러곳에서 인스턴스가 생성되어 메모리가 비효율적으로 사용될 수 있다. 따라서 Lifecycle에 맞는 처리를 하는 것이 매우 중요하다. 

반응형

'IOS > Swift' 카테고리의 다른 글

[Swift] ObservableObject이용해 옵저버(Observer) 패턴 구현하기  (0) 2021.12.31
[Swift] TableView 이용해 화면에 목록 표시하기  (0) 2021.12.28
[Swift] 위치 권한 요청 방법 및 요청 문구 변경 방법 알아보기  (0) 2021.12.26
[Swift] extension 키워드 이용해 타입 기능 확장하기  (0) 2021.12.26
[Swift] Background Thread에서 Task 실행하기  (1) 2021.12.26
    'IOS/Swift' 카테고리의 다른 글
    • [Swift] ObservableObject이용해 옵저버(Observer) 패턴 구현하기
    • [Swift] TableView 이용해 화면에 목록 표시하기
    • [Swift] 위치 권한 요청 방법 및 요청 문구 변경 방법 알아보기
    • [Swift] extension 키워드 이용해 타입 기능 확장하기
    DevCho
    DevCho
    개발자의 개발 공간

    티스토리툴바