-
[iOS] ViewController의 생명주기 (Life-Cycle)/iOS 📱 2022. 4. 25. 02:17반응형
iOS 앱에서 보이는 화면은 ViewController로 이루어져있다고해도 과언이 아니네요.
그런 중요한 녀셕인만큼 잘 알고 쓰고싶은 마음입니다
시작해봅니다 ~
우리는 프로젝트를 생성하게 되면 가장 먼저 만나는 화면이자, 코드입니다
궁금하니까 Jump to Definition을 통해 봤습니다.
loadView 이후에 불려진다 ?
일단 전체적인 Life-Cycle를 알아보자 !
위 문서에 나온 순서에 맞춰 각 메소드를 알아보겠습니다
viewDidLoad()
이 메소드는 view controller가 메모리에 불려졌을 때 호출이 되며 view가 nib 파일에서 호출되었는지, 프로그래밍적으로 loadView() 메소드에서 만들어졌는지 여부에 관계없이 호출되어진다고합니다.
viewWillAppear(_:)
view controller 의 view를 view 계층에 추가하기 전에 애니메이션을 구성하기 전에 호출된다고한다.
뷰의 방향 혹은 표시줄의 방향 또는 스타일을 변경할 수 있다고한다.
override 할 경우에 구현 할 시점에 super를 호출해야한다.
viewDidAppear(_:)
뷰 계층에 뷰가 추가되었음을 view controller에게 알려준다
뷰가 생성되는 것을 확인해봤으니 이제는 사라지는 것도 알아봅시다 !!
viewWillDisappear(_:)
이 메소드는 view가 실제로 제거되기 전에 호출되어진다.
viewDidDisappear(_:)
뷰 계층에서 완전히 지워졌을 때 view controller에게 알려주는 메소드이다.
아래 예제를 통해서 각 라이프 사이클이 언제 호출되는지 알아보자 !
각 메소드 간 관계
실제 앱에서 어떻게 작동하는지 보기 위해 준비를 했습니다.
import UIKit class SecondViewController: UIViewController { override func loadView() { super.loadView() print("loadView") } override func viewDidLoad() { super.viewDidLoad() print("viewDidLoad") // Do any additional setup after loading the view. } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) print("viewWillAppear") } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) print("viewDidAppear") } override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) print("viewWillDisappear") } override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) print("viewDidDisappear") } }
' > iOS 📱' 카테고리의 다른 글
[iOS] 동적 테이블 뷰 셀(UITableView Dynamic cell height) 만들기 (estimatedRowHeight, autoDimension) (0) 2022.05.01 [iOS] Core Loaction 위치 권한 설정하기 (0) 2022.04.26 [iOS]UIButton underline 설정하기 (0) 2022.04.22 [SwiftUI] iPad로도 앱을 만들 수 있을까 ? (0) 2022.02.22 [정보] plist, Cache.db 보는 법 (0) 2022.01.18