UIViewController
๊ฐ init ๋๋ ์์ ์ ํน์ View๋ฅผ ์ค์ ํ๋ฉด ์๋๋๊ฐ? ์ ์๋๋๊ฐ?
ํต์ฌ ์์ฝ
UIViewController
์ init์View
๋ฅผ ์ค์ ํ๊ฒ ๋๋ฉด, ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ์ธํด View๊ฐ ํด์ ๋๋ ์ํฉ์ ๋์ํ ์ ์๋ค.- iOS ์์คํ ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๊ฒฝ์ฐ, ์ ๋์ ์ผ๋ก ์น๋ช ์ ์ด์ง ์์ ์์์ ํด์ ํด๋ฒ๋ฆฐ๋ค.
- ์ ํํ ๋งํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๊ฒฝ๊ณ ๋ฐ์ >
UIViewController
๊ฐ์ฒด ์์UIView
๊ฐ์ฒด๊ฐ ์ฌ์ฉ๋์ง ์๋ ์ํ์ด๋ฉด nil๋ก ์ค์ ๋๋ค. - ์ด ๋ค์์๋ ํ์ฌ๋ deprecated๋
viewDidUnload
๊ฐ ํธ์ถ๋์์๋ค. - ์ด ์ํฉ์์ ๋ค์ viewController๊ฐ ํ์ฑํ๋๋ค๋ฉด ๋ค์ viewDidLoad๊ฐ ํธ์ถ๋๊ฒ ๋๋ค.
- ํ์ง๋ง iOS6 ๋ถํฐ ๋์ด์ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ์ํฉ์์ View๊ฐ purge๋์ง ์๋๋ค๊ณ ํ๋ค.
- ๊ฐ๋ฐ์๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ์ํฉ์ ๋ฐ๋ผ ์์ฒด์ ์ผ๋ก ๋์ฒํด์ฃผ์ด์ผ ํ๋ค.
- ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ
viewDidLoad
์์ View๋ฅผ ์ฒ๋ฆฌํด์ผ ํ๋ค๋ ๊ฒ์ ๋ณํ์ง ์๋๋ค. - ์์ ์๋ iOS ๊ฐ๋ฐ ๊ธฐ๋ณธ ์ง๋ฌธ์ด์์ผ๋, ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ ์ปค์ง๋ฉด์ ๋ฌป์ง ์๋ ์ถ์ธ๊ฐ ๋์๋ค.
didReceiveMemoryWarning
- ๋ฉ๋ชจ๋ฆฌ ๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํ ์ ํธ์ถ๋๋ ๋ฉ์๋์ด๋ค.
- ์ง์ ์ ์ผ๋ก ํธ์ถ์๋ฉด ์๋๋ค.
- ํด๋น ๋ฉ์๋๋ฅผ overrideํ์ฌ iOS 6 ์ด์ ์ ๋์์ฒ๋ผ ํ์ฌ ๋ณด์ด์ง ์๋ View์ ๋ํด nil์ฒ๋ฆฌ๋ฅผ ํ ์ ์์ ๊ฒ์ด๋ค.
- ์ฆ, ์ด์ ์๋ ์์คํ ์์ ์์์ ์๋ณด์ด๋ ๋ทฐ๋ฅผ ํด์ ์์ผฐ๋ค๋ฉด, ์ด์ ๋ ๊ฐ๋ฐ์๊ฐ ์ํฉ์ ๋ง์ถฐ ์ฒ๋ฆฌํด์ฃผ์ด์ผ ํ๋ค.
viewDidLoad
- View Hierachy๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋ ๋ ํธ์ถ๋๋ค.
- ๋ฌธ์์์๋ ์ถ๊ฐ์ ์ธ View์ ์ด๊ธฐํ๊ฐ ํ์ํ๋ค๋ฉด ํด๋น ์์ ์ ํ๋ผ๊ณ ๋ช ์๋์ด ์๋ค.