2023. 9. 12. 17:54ㆍ- IOS/swift
안드로이드의 activity 화면 생명주기처럼 ios에도 생명주기가 있는데요.
한번 view controller의 생명주기에 대해 알아보겠습니다.
view controller의 흐름도는 아래와 같습니다.
흐름도 많이 낯설진 않고 안드로이드와 비슷한 느낌을 주는데요...

각 흐름에 대해 한번 정리를 해보겠습니다.
viewDidLoad
프로젝트를 만들면 바로 보이는 이 func.
override func viewDidLoad() {
super.viewDidLoad()
print("viewDidLoad 호출")
}
뷰 컨트롤러가 메모리에 로드되고 나서 호출이 됩니다.
이 viewDidLoad의 특징에 대해 설명하자면
이 viewDidLoad 메소드는 뷰의 로딩이 완료 되었을 때
시스템에 의해 자동으로 호출되기 때문에
일반적으로 리소스를 초기화하거나
초기 화면을 구성하는 용도로 주로 사용합니다.
화면이 처음 만들어질 때 한 번만 실행되므로,
처음 한 번만 실행해야 하는 초기화 코드가 있을 경우
이 메소드 내부에 작성하면 됩니다.
viewWillAppear
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
print("viewWillAppear 호출")
}
뷰가 로드 된후에 뷰가 나타나기 시작할때 컨트롤러에 알리는 역할을 합니다.
화면 a에서 화면 b로 이동후에 뒤로가기를 눌러 다시 화면 a로 이동하였다면 화면 a에서는 viewDidLoad()는 호출 하지 않고
viewWillAppear()만 호출되게 되니 각 상황에 필요한 코드를 알맞은곳에 쓰시면 되겠습니다.
viewDidAppear
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
print("viewDidAppear 호출")
}
뷰가 나타났다는것을 뷰컨트롤러에 알리는 역할을 합니다. 또한 화면에 적용될 애니메이션을 그려줘요.
viewDidAppear은 뷰가 화면에 나타난 직후에 호출됩니다.
viewWillDisappear
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
print("ViewController의 view가 사라지기 전")
}
viewWillDisappear은 뷰가 사라지려고 할때 컨트롤러에서 호출됩니다.
viewDidDisappear
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
print("ViewController의 view가 사라짐")
}
뷰가 사라졌음을 뷰컨트롤러에 알려주는 역할을 합니다.
출처 : https://zeddios.tistory.com/43
'- IOS > swift' 카테고리의 다른 글
mac os 맥북 JAVA 환경변수 설정하기 (0) | 2023.10.31 |
---|---|
ios xcode에서 REST API 요청하기 (0) | 2023.09.19 |
xcode remove reference 한 파일 복구 하기 (0) | 2022.09.22 |
http통신 (0) | 2022.05.24 |
앱 아이콘 설정하기 (0) | 2022.04.26 |