-
The Role of View Controllers (3) - Overview - View Controller Programming Guide for iOSiOS/๐ Documentation 2021. 1. 14. 01:20
์ถ์ฒ : Apple Developer Documentation
Resource Management
UIViewController๋ ๋ ์ด์ ํ์ํ์ง ์์ ์์์ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ํด์ ํฉ๋๋ค.
ํ์ง๋ง ์ด๊ฒ์ ์๋ธ ํด๋์ฑํ ์ปค์คํ ์ฝ๋์์, ๊ฐ๋ฐ์๊ฐ ๋ช ์์ ์ผ๋ก ์์ฑํ ๊ฐ์ฒด๋ค์ ๊ทธ๊ฒ์ ๋ง๋ ์ฌ๋์ด ์ง์ ๊ด๋ฆฌํด์ฃผ์ด์ผ ํฉ๋๋ค.
๊ฐ์ฉ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ์ด์ก์๋, UIKit์ ์ฑ๋ค์๊ฒ ํ์ํ์ง ์์ ๋ฆฌ์์ค๋ฅผ free up ( = release = ๋ฉ๋ชจ๋ฆฌ ํด์ ) ํ ๊ฒ์ ์์ฒญํฉ๋๋ค.
๊ฐ๋ฐ์๊ฐ ์ด๊ฒ์ ์ด์ฉํด ๋ฉ๋ชจ๋ฆฌ ํด์ ๋ฅผ ํ ์ ์๋ ๋ฐฉ๋ฒ์ VC์ didReceiveMemoryWarning ๋ฉ์๋๋ฅผ ๊ตฌํํ๋ ๊ฒ์ ๋๋ค.
์ด ๋ฉ์๋์์ ๋ ์ด์ ํ์ํ์ง ์์ ์ฐธ์กฐ๋ฅผ ์ง์ธ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์บ์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ธ ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ตฌํ๋ง ํด๋๊ณ ์ ๋ ์ง์ ํธ์ถํ์ง ์์์ผ ํฉ๋๋ค.
์ด ๋ฉ์๋๋ ๊ฐ์ฉ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ์ํฉ์์ ์์คํ ์ด ์์์ ํ๋จํ์ฌ ํธ์ถํฉ๋๋ค.๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ์ํฉ์์ ๊ฐ๋ฅํ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ๋ ๊ฒ์ ์์ฃผ ์ค์ํฉ๋๋ค.
๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ง๋์น๊ฒ ๋ง์ด ์ ์ ํ๋ ์ฑ๋ค์ ์์คํ ์ด ์ข ๋ฃ์์ผ๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋๋ค.
Adaptivity
VC ๋ View๋ค์ ๊ธฐ๊ธฐ์ ํ๋ฉด ํ๊ฒฝ์ ๋ง๊ฒ ๋ฟ๋ ค์ฃผ๋ ์ญํ ์ ๋ด๋นํฉ๋๋ค.
์ฆ, ๋ชจ๋ iOS ์ฑ๋ค์ iPad ๋ฟ๋ง ์๋๋ผ ๋ค์ํ ์ฌ์ด์ฆ์ iPhone์์ ๋์๊ฐ์ผ ํฉ๋๋ค.
๊ธฐ๊ธฐ๋ง๋ค ๋ค๋ฅธ VC๋ฅผ ์ ๊ณตํ๋ ๊ฒ๋ณด๋ค ํ๋์ VC๊ฐ ํ๋ฉด์ ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ View๋ค์ ์กฐ์ ํ๋ ๊ฒ์ด ๋ซ๊ธฐ ๋์ ๋๋ค.
iOS์์, VC๋ coarse-grained change์ fine-grained change๋ฅผ ๋ค๋ฃจ์ด์ผ ํฉ๋๋ค.
Coarse-grained change๋ VC์ ํน์ฑ(traits) ์ด ๋ฐ๋ ๋ ๋ฐ์ํฉ๋๋ค.
ํน์ฑ(Traits)์ด๋ ํ๋ฉด ์ค์ผ์ผ๊ณผ ๊ฐ์ ์ ๋ฐ์ ์ธ ํ๊ฒฝ์ ๋ด๊ณ ์๋ ์์ฑ (attribute) ๋ค์ ๋๋ค.
ํน์ฑ์์ ๊ฐ์ฅ ์ค์ํ ์์ ์ค ๋ ๊ฐ๋ ๋ฐ๋ก VC ์ ๊ฐ๋ก ์ธ๋ก ์ฌ์ด์ฆ ํด๋์ค์ ๋๋ค. ์ด ํด๋์ค๊ฐ ์ฃผ์ด์ง ์ฐจ์์์ VC์๊ฒ ์ฃผ์ด์ง dimension์ ์๋ ค์ค๋๋ค.
dimension : a measurementof something in a particular direction
์ฆ, ํน์ ๋ฐฉํฅ์์์ ๊ฐ๋ก ์ธ๋ก ์ธก์ ์น์ด๋ฏ๋ก, ๊ธฐ๊ธฐ๋ฅผ ํ์ ํ๋ค๋ฉด (portrait์์ landscape๋ก) dimension์ ๋ฐ๋๊ฒ ๋ฉ๋๋ค.size ํด๋์ค์ ๋ณํ์ ๋ง์ถ์ด view์ ๋ ์ด์์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์๋ ๊ทธ๋ฆผ์ ๋ณด๋ฉด horizontal size ํด๋์ค๊ฐ regular ์ผ๋, ๊ฐ๋ก ์ฌ์ด์ฆ์ ์ด๋์ด ์์ผ๋ฏ๋ก VC๋ ๊ทธ๋งํผ ์ฝํ ์ธ ๋ฅผ ์ฑ์ ๋ฃ์ต๋๋ค.
๋ฐ๋ฉด์ horizontal size ํด๋์ค๊ฐ compact ์ผ๋๋, VC๋ ์ฝํ ์ธ ๋ฅผ ์ธ๋ก๋ก ์ฑ์ ๋ฃ์ต๋๋ค.
์ size ํด๋์ค์ ํจ์ฌ ์์ฃผ ์ผ์ด๋๋ ์ํฉ์ fine-grained change์ ๋๋ค. ์ฌ์ฉ์๊ฐ iPhone์ portrait์์ landscape๋ก ํ์ ์ํฌ ๋, size ํด๋์ค๋ ๋ฐ๋์ง ์๊ฒ ์ง๋ง, dimension ์ ๋ฐ๋๊ฒ ๋ฉ๋๋ค. ๊ธฐ์ค์ด ๋๋ ๋ฐฉํฅ์ด ๋ฐ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋!
'iOS > ๐ Documentation' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Bundle - Foundation (0) 2021.01.25 Hashable - Protocol (0) 2021.01.20 [iOS] Equatable ์ด๋? (0) 2021.01.20 The Role of View Controllers (2) - Overview - View Controller Programming Guide for iOS (0) 2021.01.14 The Role of View Controllers (1) - Overview - View Controller Programming Guide for iOS (0) 2021.01.14