๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
UIViewController๋ ๋ทฐ๋ฅผ ๊ด๋ฆฌํ๊ฑฐ๋ ์ด๋ฒคํธ์ ๊ด๋ จํด ๋ทฐ์ ์๋ตํ๋ ๋ฉ์๋๋ค์ด ์ ์๋์ด ์๋ค. ์ด ๋ฉ์๋๋ค์ view Controller์ ์ํด ๋ถ๋ฌ์ ธ์ผํ๋ ์๊ฐ์ ์๋์ผ๋ก ํธ์ถ๋๊ธฐ ๋๋ฌธ์ ๋ณํ์ ๋์ํ ์ ์๋ค. UIViewController๋ฅผ ์์๋ฐ๋ ๊ฒฝ์ฐ ์ด ๋ฉ์๋๋ค์ ์ค๋ฒ๋ผ์ด๋ ํ ์ ์์ผ๋ฉฐ ์ด๋ฅผ ํตํด ๋ทฐ ๋ณํ๋ง๋ค ์ทจํ ์ก์ ์ ์ค์ ํ ์ ์๋ค.
๋ทฐ์ ์ํ
- Appearing : ๋ทฐ๊ฐ ํ๋ฉด์ ๋ํ๋๋ ์ค
- Appreared : ๋ทฐ๊ฐ ํ๋ฉด์ ๋ํ๋๋ ๊ฒ์ด ์๋ฃ๋ ์ํ
- Disappearing : ๋ทฐ๊ฐ ํ๋ฉด์์ ์ฌ๋ผ์ง๋ ์ค
- Disappreared : ๋ทฐ๊ฐ ํ๋ฉด์์ ์ฌ๋ผ์ง ์ํ
LifeCycle ๋ฉ์๋
ํธ์ถ ์์
1. viewDidLoad() → 2. viewWillAppear → 3. viewDidAppear → 4. viewWillDisappear → 5. viewDidDisappear
1. func viewDidLoad()
- viewController์ ๋ชจ๋ ๋ทฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋์์ ๋ ํธ์ถ๋๋ค.
- ๋ฐ๋ผ์ ๋ค์ ๋ทฐ์์ ์ด์ ๋ทฐ๋ก ๋์์ฌ ๋๋ ์ด๋ฏธ ๋ทฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋ ์ํ์ด๊ธฐ ๋๋ฌธ์ ๊ทธ๋๋ ํธ์ถ๋์ง ์๋๋ค.
- ๋ณดํต ํ ๋ฒ ํธ์ถ๋ ์ก์ ๋ค์ด ์ด ๋ฉ์๋์ ์ ์๋๋ค.
- ์) ๋ทฐ์ ๊ด๋ จ๋ ์ถ๊ฐ์ ์ธ ์ด๊ธฐํ ์์ , ๋คํธ์ํฌ ํธ์ถ๊ณผ ๊ฐ์ 1ํ์ฑ ์์
2. func viewWillAppear(_ animated: Bool)
- ViewController์ ๋ทฐ๊ฐ ๋ทฐ ๊ณ์ธต์ ์ถ๊ฐ๋๊ณ ํ๋ฉด์ด ๋ณด์ด๊ธฐ ์ง์ ์ ํธ์ถ๋๋ค.
- ์ ๋๋ฉ์ด์ ์ด ๋ณด์ฌ์ง๊ธฐ ์ ์ ํธ์ถ๋๋ค.
- ๋ค๋ฅธ ๋ทฐ๋ก ์ด๋ํ๋ค ๋์์ค๋ฉด ๋ค์ ํธ์ถ๋๋ค.
- ์)๋ทฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒ๊ณผ ๊ด๋ จํ ์ปค์คํ ์์ ์ ์ํํ ๋
3. func viewDidAppear(_ animated: Bool)
- ViewController์ ๋ทฐ๊ฐ ๋ทฐ ๊ณ์ธต์ ์ถ๊ฐ๋์ด ํ๋ฉด์ ๋ณด์ธ ํ ํธ์ถ๋๋ค.
- ์) ๋ทฐ๋ฅผ ๋ํ๋ด๋ ๊ฒ๊ณผ ๊ด๋ จํ ์ถ๊ฐ์ ์ธ ์์ ์ํ
- ์) ์ ๋๋ฉ์ด์ ์ ์์ํ๋ ์์ ์ํ
4. func viewWillDisappear(_ animated: Bool)
- View Controller์ ๋ทฐ๊ฐ ๋ทฐ ๊ณ์ธต์์ ์ฌ๋ผ์ง๊ธฐ ์ ์ ํธ์ถ๋๋ค.
- ์ ๋๋ฉ์ด์ ์ด ๊ตฌ์ฑ๋๊ธฐ ์ ์ ํธ์ถ๋๋ค.
- ์) ๋ทฐ๊ฐ ์ฒ์ ๋ณด์ฌ์ก์ ๋ viewDidAppear(_:)์์ ์์ ๋ ๋ณ๊ฒฝ์ฌํญ์ ๋๋๋ฆด ๋ ์ฌ์ฉ
- ์) ์ต์ข ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ฌ์ฉ
5. func viewDidDisappear(_ animated: Bool)
- ViewController์ ๋ทฐ๊ฐ ๋ทฐ ๊ณ์ธต์์ ์ฌ๋ผ์ง ํ ํธ์ถ๋๋ค.
- ์) ๋ทฐ๋ฅผ ์ฌ๋ผ์ง๊ฒ ํ๊ฑฐ๋ ์จ๊ธฐ๋ ๊ฒ๊ณผ ๊ด๋ จํ ์ถ๊ฐ์ ์ธ ์์ ์ ์ํํ ๋ ์ฌ์ฉ
+
Layout Subviews ๊ด๋ จ ๋ฉ์๋
Apple Developer Document
ํจ๊ป ๋ณด๋ฉด ์ข์ ์ฑ ์๋ช ์ฃผ๊ธฐ
ViewController LifeCycle๊ณผ ๊ด๋ จํ ์ฌ๋ฌ ๋ฉ์๋&์๋ช ์ฃผ๊ธฐํ๋ฆ์ด๋ฏธ์ง