โ
์ดํ๋ฆฌ์ผ์ด์ ์ด ์คํํ๋ฉด์ ViewController๋ค์ด ๋ง๋ค์ด์ง๊ณ ์ฌ๋ผ์ง๋ฉฐ ํ๋ฉด์ ๋์ฐ๊ณ ๋ด๋ฆฌ๋ ์์ ์ ํ๋๋ฐ, ์ด๋ฌํ ๊ณผ์ ๋ค์ event์ ์ํด ๋ฉ์๋๊ฐ ํธ์ถ๋ฉ๋๋ค.
โ
โ
Init()
storyboard๋ฅผ ํตํด View Controller๋ค์ ๋ง๋ค ๊ฒฝ์ฐ ViewController ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ ์ด๊ธฐํ ์์ ์ ํฉ๋๋ค. ์ด๋ ์ฌ์ฉํ๋ ๋ฉ์๋๊ฐ init() ์ ๋๋ค. ๊ฐ์ฒด๋ฅผ Byte Stream์ผ๋ก ๋ฐ๊พธ์ด ๋์คํฌ์ ์ ์ฅํ๊ฑฐ๋ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์กํ๋ ์ง๋ ฌํ ์์ ์ ํ์ง ์๋ ์ด์ ๋งค๊ฐ๋ณ์๋ก ๋์ด์ค๋ NSCoder ๋ ๋ฌด์ํ์ ๋ ๋ฌด๋ฐฉํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ๋ง์ฝ View ๋ด์ ์์๋ฅผ ์ ๊ทผํ๋ค๋ฉด ์ด๋ ์์ง ์์ฑ๋๊ธฐ ์ ์ํ์ด๊ธฐ์ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค.
โ
์ด์ธ์๋ init(nibName: bundle:) ์ด ์กด์ฌํฉ๋๋ค. ํด๋น ๋ฉ์๋๋ nib ํ์ผ๋ก ๋ฐ๋ก ๊ด๋ฆฌํ ๊ฒฝ์ฐ ์ด์ฉํฉ๋๋ค.
โ
LoadView()
ํ๋ฉด์ ๋์ด์ง View๋ฅผ ๋ง๋๋ ๋ฉ์๋์ ๋๋ค. ์ด๋ outlet๊ณผ action๋ค์ด ์์ฑ๋๊ณ ์ฐ๊ฒฐ๋ฉ๋๋ค.
โ
ViewDidLoad()
ํด๋น ๋ฉ์๋๊ฐ ํธ์ถ๋ ๋๋ View์์ ์์ฑ๋ outlet์ด ๋ฉ๋ชจ๋ฆฌ์ ์์น๋์ด ์๊ธฐ์, ์ฌ์ฉ์์๊ฒ ํ๋ฉด์ด ๋ณด์ฌ์ง๊ธฐ ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ์ ํ๋ ํ์๋ฅผ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ฉด์ด Load ์ Background์์ ์ฒ๋ฆฌํด์ผ ํ๋ ์์ ๋ค์ ์ฒ๋ฆฌํฉ๋๋ค. (ex) Network)
โ
๋ํ ์ด๋ ViewController์์ ๋ฑ ํ ๋ฒ๋ง ํธ์ถ๋ฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํ ๋ฒ๋ง ์ผ์ด๋ ํด์ฐ์ด๋ค์ ํด๋น ๋ฉ์๋ ์์์ ์ ์ํด์ฃผ๋ฉด ๋ฉ๋๋ค.
โ
ViewWillAppear()
ViewController์ ํ๋ฉด์ด ์ฌ๋ผ์ค๊ณ ๋ ์ดํ ํธ์ถ๋ฉ๋๋ค. UI ๋ด์ ์ ๋๋ฉ์ด์ ์ ์คํ์ํค๊ฑฐ๋, ์๋ฆฌ ์ฌ์, ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ๋ฅผ ์ํํ ๋ ์ด์ฉํฉ๋๋ค.
ํด๋น ๋ฉ์๋๋ ํ๋ฉด ์ ํ์ ํตํด ๋ค์ ๋์์ฌ ๋๋ ํธ์ถ๋ฉ๋๋ค.
โ
ViewDidAppear()
ViewController์ View์ ๋ฐ์ดํฐ๊ฐ ์์ ํ ๋ํ๋ ๋ ํธ์ถ๋ฉ๋๋ค. ์ด๋ ์คํํ๋๋ฐ ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฌ๋ ์์ ์ ํฉ๋๋ค. ํนํ ์น ์๋น์ค ํธ์ถ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋, Waiting Message๋ฅผ ๋ฐ์ธ ์ ์๋ ์ฅ์ ์ด ์์ต๋๋ค.
โ
ViewWillDisappear()
๋ค์ ViewController๋ก ํ๋ฉด์ด ์ ํ๋๊ธฐ ์ , ์ด์ ViewControoler๊ฐ ํ๋ฉด์์ ์ฌ๋ผ์ง ๋ ํธ์ถ๋ฉ๋๋ค. ์ด๋ ์ด์ ์์ ์ ์ ์ฅํด์ผํ๊ฑฐ๋ ๋ฐฑ์ ์ ํด์ผํ ๊ฒฝ์ฐ ์ด์ฉํฉ๋๋ค.
โ
ViewDidDisappear()
ViewController๋ค์ด ํ๋ฉด์์ ์ฌ๋ผ์ง๊ณ ๋์ ํธ์ถ๋ฉ๋๋ค. ํ๋ฉด์์ ViewController๊ฐ ์ฌ๋ผ์ง ํ, ๋ฉ์ถฐ์ผํ ์์ ๋ค์ ๋ฉ์๋๋ฅผ ์ด์ฉํ๊ธฐ ์ํด์๋ override๋ super ํค์๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
โ
Deinit()
ViewController๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ์ฌ๋ผ์ง๊ธฐ ์ ํด๋น ๋ฉ์๋๊ฐ ํธ์ถ๋ฉ๋๋ค. ์ด ๋ฉ์๋๋ฅผ ํ ๋น ๋ฐ์ ์์ ์ค, ARC์ ์ํด ํด์ง๊ฐ ๋ถ๊ฐ๋ฅํ ์์๋ค์ ํด์ ํ๊ธฐ ์ํด override ํ ์ ์์ผ๋ฉฐ, Background์์ ๋๋ฆฌ๊ธฐ ์ํด ์ด์ ๋ฉ์๋์์ ๋ฉ์ถ์ง ๋ชปํ๋ ์ด๋ฒคํธ๋ค์ ๋ฉ์ถ ์ ์์ต๋๋ค.
'iOS ๐ > iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Delegation Pattern (0) | 2021.02.17 |
---|---|
Design Pattern (0) | 2021.02.16 |
View hierarchy (0) | 2021.02.16 |
AutoLayout (0) | 2021.02.16 |
Cocoa Touch (0) | 2021.02.16 |