티스토리 뷰

ios

[ios]View Controller 생명주기(작성중)

real_water 2022. 1. 17. 16:22

View Controller의 생명주기를 살펴보면 아래그림과 같습니다.

 

공식문서에서는 loadViewViewDidLoad Managing the View

view appear/disappear관련 메소드들은 Responding to View Related Events로 분류하고 있어요.

 

view를 관리하는 메소드들을 간단히 말하자면

loadView는 controller를 관리하는 view를 만드는(view를 메모리에 올리는) 메소드,

viewDidLoad는 controller의 view가 메모리에 올라간 후 호출되는 메소드입니다.

[출처]https://subscription.packtpub.com/book/application_development/9781783550814/6/ch06lvl1sec60/uiviewcontroller-lifecycle-methods

 

loadView

  • 이 메소드는 view를 만들고 view 프로퍼티에 할당합니다.
  • 직접 호출하면 안됩니다.
  • view controller는 view가 요청되었을 때, view가 현재 nil이라면 실행합니다.
  • view가 로드되었을 때 초기화를 하고싶다면 viewDidload()를 이용하면 됩니다.

 

+)view

loadview에 써있는 내용과 비슷하지만, 함께 읽으면 좋을 것 같아 가져왔습니다.

view프로퍼티는 controller가 관리하는 view라고 합니다.

뷰 컨트롤러의 뷰 계층에서 루트 뷰를 나타내고, 기본 값은 nil입니다.

이 값에 접근 했는데 view가 nil이라면, 뷰 컨트롤러는 자동으로 loadView()를 호출하고, 뷰를 반환해줍니다.

 

이 view 프로퍼티에 접근하는 것은 뷰가 자동으로 load되게 할수도 있기 때문에

isViewLoaded라는 프로퍼티를 이용해서 view가 현재 메모리에 올라가 있는지 확인할 수 있습니다.

(isViewLoaded는 bool을 리턴해주는 프로퍼티로, view를 실제로 메모리에 올리는 것 과는 상관 없습니다.)

 

https://developer.apple.com/documentation/uikit/uiviewcontroller/1621460-view

 

viewDidLoad

viewController를 만들면 자동으로 생성되어있는 이 메소드는 

view가 

 

viewWillAppear

 

viewDidAppear

 

viewWillDisappear

 

viewDidDisappear

 

viewDidunload

 

뷰 컨트롤러가 보여줄 수 있는 뷰의 상태와 상태변화

[참고]

https://developer.apple.com/documentation/uikit/uiviewcontroller

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함