[250414] ViewController 생명주기

ON&OFF·2025년 4월 14일

iOS TIL

목록 보기
12/18

1. 오늘 배운 것

ViewController 생명주기에 관해 공부했다.

  • ViewController

    • UIKit 앱의 뷰 계층을 관리하는 개체입니다.
    • 한 개의 페이지는 반드시 한 개의 UIViewController 를 가짐.
    • UIViewController 내부에 UIView, UIButton, UIScrollView 등 UIKit 의 UI 클래스들을 배치하며 화면을 구성한다.
  • ViewController 생명주기

    • init - ViewController 인스턴스가 메모리에 생성될 때 호출됨
    • loadView - view 프로퍼티를 수동으로 만들고 연결할 때 사용
    • viewDidLoad - view가 메모리에 올라온 직후 1번만 호출
      여기서 UI 초기화, 데이터 바인딩, 제스처 등록 등 주로 설정함
    • viewWillAppear - 화면에 보여지기 직전에 호출
    • viewIsAppearing - view가 화면에 나타나고 있는 상태에서 호출
    • viewDidAppear - 화면이 완전히 나타난 직후 호출
    • viewWillDisappear - 다른 화면으로 넘어가기 직전 호출
    • viewDidDisappear - 다른 화면으로 전환이 끝난 직후
    • deinit - ViewController가 메모리에서 해제될 때 호출

2. 배우며 겪은 문제점

viewDidLoad에서 항상 초기 설정을 다 쓰길래 왜 그런지 궁금했었는데 오늘 공부 내용에 해답이 있었다.

3. 해결 방법

viewDidLoad에서 초기 설정을 하는 이유

  • 이 시점에 self.view가 메모리에 완전히 올라왔기 때문에 설정하기에 좋은 상태이기 때문
  • 생애주기에서 단 한 번만 호출되기 때문에 설정하기에 딱 맞음

4. 느낀 점

왜 그런지 모르고 사용하던 코드에 대해 알게 되어서 앞으로는 사용할 때 정확히 의미를 알고 사용할 수 있을 것 같다!

5. 다음에 진행할 것

메모리에 대해 공부할 계획이다 ing~

profile
안 되면 될 때까지

0개의 댓글