라벨이 ViewLifeCycle인 게시물 표시

[IOS] 뷰 컨트롤러의 생명주기 - Life cycle of ViewController

이미지
[IOS] 뷰 컨트롤러의 생명주기 스토리 보드 없이 뷰 컨트롤러를 호출하면 viewDidload()에서 이런 저런 설정을 해준다. viewDidload 는 언제 호출되고, 이 다음과 이전에 호출되는 것이 또 있을까? 라는 궁금증을 가지고 검색을 했더니 viewController life-cycle이라는 키워드를 찾았다. Life Cycle 뷰 컨트롤러는 어떤 생명주기를 가지고 있을까? 1 init 2 loadView 3 viewDidLoad 4 viewWillAppear 5 viewDidAppear 6 viewWillDisappear 7 viewDidDisappear -> 4 viewWillAppear 8 viewDidUnload 이런 생명주기를 가진다. 가장 먼저 뷰 컨트롤러에 구현되어있던 viewDidLoad를 시작으로 살펴보면, 로드 -> 나타남 -> 사라짐 -> 언로드의 순서를 가진다. Did와 Will로 전후에 호출되는 함수를 구별한다. 예를 들면 viewDidLoad는 뷰가 로드 되었다. 그 다음에 viewWillAppear는 뷰가 나타날 것이다. 와 같이 이름만 보아도 언제 호출되는지 알 수 있도록 만들어놓았다. viewDidload 뷰 로드 완료 후 자동을 호출된다. 리소스의 초기화에 많이 사용된다. 뷰가 처음 만들어질 때 한 번만 실행된다. viewWillAppear 얼핏 보면 viewDidload와 같은 기능을 하는 것 처럼 보인다. 실제도 viewDidload 바로 다음에 호출된다. viewDidload 와의 차이점은 위의 생명주기의 viewDidDisappear -> viewWillAppear 에서 나타난다. 뷰1:메인페이지, 뷰2:상세페이지가 있다고 가정하자. 화면의 이동이 있을 때, 메인페이지에서 상세페이지로 갔다가 다시 메인으로 돌아오면 이미 그려진(viewDidload가 한번 호출 된) 메인페이지는 다시 viewDidload가 호출되