일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 인공지능
- springboot
- 42seoul
- DBMS
- 프로그래밍언어론
- 네트워크
- 아이패드다이어리
- JPA
- 밥먹는 철학자
- Spring
- sql
- libasm
- CI
- 오라클
- 스프링
- Dining philosopher problem
- 리눅스
- swift
- 데이터베이스
- jenkins
- javascript
- Xcode
- 스프링부트 웹 소켓
- MySQL
- 소켓
- IOS
- 다이어리
- AI
- 스프링부트
- CD
- Today
- Total
Hi yoahn 개발블로그
[iOS] View Controller의 생명주기 (Life-Cycle) 본문
1. View Controller의 생명주기
1 ) viewDidLoad
뷰가 로드 된 상태
- loadView()로 뷰의 컨트롤러가 메모리에 로드되고 난 후에 호출됨
이 메소드는 뷰의 로딩이 완료되었을 때 시스템에 의해 자동으로 호출되기때문에 일반적으로 리소스를 초기화하거나 초기 화면을 구성하는 용도로 사용
화면이 처음 만들어질 때 한 번만 실행됨
-> 처음 한 번만 실행되야 하는 초기화 코드가 있을 경우 이 메소드 내부에 작성
2 ) viewWillAppear
뷰가 나타날 예정
- 뷰가 이제 나타날 거라는 신호를 컨트롤러에게 알리는 역할
다른 뷰로 갔다가 돌아오는 상황에 할 처리를 이 메소드에서 하면 됨
3 ) viewDidAppear
뷰가 나타난 상태
- 뷰가 나타났다는 것을 컨트롤러에게 알리는 역할
- 화면에 적용될 애니메이션을 그려줌
- 뷰가 화면에 나타난 직후에 실행됨
4 ) viewWillDisappear
뷰가 사라질 것 (예정)
- 뷰가 사라지기 직전에 호출되는 함수
- 뷰가 삭제되려고 하고 있는 것을 뷰 컨트롤러에 통지
5 ) viewDidDisappear
뷰가 사라진 상태
- 뷰 컨트롤러가 뷰가 제거되었음을 알려줌
6 ) loadView
- 컨트롤러가 관리하는 뷰를 만드는 역할
- self.loadView() 처럼 직접 호출하면 안됨
내비게이션 컨트롤러
- Root View Controller 가 있고, 그 위로 view 가 스택처럼 push 쌓이는 구조
- 뒤로가기를 하면 pop -> 스택에서 사라짐 : 메모리에서 제거됨
-> 내비게이션 컨트롤러는 두번째 뷰로 갈때마다 viewDidLoad가 호출됨
1. 네비게이션 컨트롤러의 동작은 자료구조에서의 '스택'과 같다!
2. pop을 하면 스택에서 빠져나간 뷰 컨트롤러는 메모리에서 사라진다!
zeddios.tistory.com/44?category=682195
'프로그래밍 언어 > iOS' 카테고리의 다른 글
[iOS] safeArea 사용하기 (0) | 2021.02.04 |
---|---|
[iOS] 비율에 맞춰서 이미지 표시하기 (0) | 2021.01.26 |
[iOS] 화면 전환 방법 (0) | 2021.01.25 |
[iOS] UILabel, UIButton, @IBOutlet, @IBAction (0) | 2021.01.24 |
[iOS] UITabBarController, UITabBar (0) | 2021.01.23 |