์ ์ ํ์ ๋ชจ๋ ํ๋ซํผ์์ ํ๋ฅญํ UI๋ฅผ ๊ตฌ์ถํ ์ ์๋ SwiftUI๋ฅผ ์๊ฐํ๊ณ ,์ด๋ฒ 2๋ฒ์งธ ๋ฆด๋ฆฌ์ฆ ๋ ๋ค์ํ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ํด ์๊ฐํ๋ ค๊ณ ํ๋ค.์์ฒญ ๋ง์ ํผ์ณ๋ค์ด ์ถ๊ฐ๋์๊ธฐ ๋๋ฌธ์, ์ด ์ธ์ ์์ ๋ค๋ฃจ์ง ๋ชปํ๋ ๊ฒ๋ค์ ๋ค๋ฅธ ์ธ์ ์ ํตํด ๋ค๋ฃฐ ์์ ์.๋จผ
SwiftUI๋ง์ผ๋ก ์ ์ฒด ์ฑ์ ๊ตฌ์ถํ ์ ์์ผ๋ฉฐ, ์ด ์ธ์ ์์๋ ์๋ก์ด API๋ฅผ ์๊ฐํ๊ณ , , , ๊ฐ ์ด๋ป๊ฒ ํจ๊ป ์๋ํ๋์ง ์ค๋ช ํ๋ ค๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ SwiftUI์ scnene ์ํคํ ์ฒ์ ๋ํด ์์ธํ ๋ค๋ฃจ๊ณ , ์ฑ์์ ์ด๋ป๊ฒ scene์ ์ปค์คํฐ๋ง์ด์ฆ ํ ์ง ์์๋ณธ
์ฑ๋ฅ ์ต์ ํ๋ ์ฝ์ง ์๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ metrics์ diagnostics๊ฐ ๋๋ฌด ๋ง๊ธฐ ๋๋ฌธ์, ์ ๋ณด์ ๋ฐ๋ค์์ ๊ธธ์ ์๊ธฐ ์ฝ๋ค. ๊ฐ ๋ฆด๋ฆฌ์ฆ๋ฅผ ์ด์ ๋ฆด๋ฆฌ์ฆ๋ณด๋ค ํฅ์ ์ํค๋ ค๋ฉด ์ฑ๋ฅ ์ฐ์ ์์๋ฅผ ๋น ๋ฅด๊ฒ ์์ฝํ๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค. Xcode Organizer๋ฅผ ์ฑ๋ฅ์
ํ๋ก๊ทธ๋จ์์ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๋ฉด ์์๋๋ก ์คํ๋์ง ์์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ, ์ ์์๊ณผ ๋ค๋ฅด๊ฒ ์คํ๋๋์ง ๋๋ฒ๊ฑฐ์์ ํ์ธํ๊ณ ์ ํ๋ค. ์ด ์์ ์์ ๋จผ์ ํ๋ก์ธ์ค ์ํ๋ฅผ ๊ฒ์ฌํด์ ์ํฉ์ ์ดํดํ๊ณ , ํ๋ก์ธ์ค ์คํ ๋จ๊ณ๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉฐ ๋ก์ง์ ํ์ธํ๋ค. ์ด ๋ ํ๋ ๋ชจ๋ ๋ฒ๊ทธ๊ฐ ๋ฐ
๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ฑ์ด ์ข ๋ฃ๋๋ 6๊ฐ์ง ์ฃผ์ ์ด์ ๋ฅผ ์ค๋ช ํ๊ณ , MetricKit์ ์ฌ์ฉํ์ฌ ์ฑ์ด ์ข ๋ฃ๋๋ ๋น์จ์ ๋ฎ์ถ ์ ์๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๋ค. ์ฑ์ด foreground์ ์์ ๋ ํฌ๋์๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ์ํ์ง ์๋ฏ, ์ฑ์ด ๋ฐฑ๊ทธ๋ผ์ด๋์ ์์ ๋ ์ข ๋ฃ๋๋ ๊ฒ๋ ์ฌ์ฉ์ ๊ฒฝํ
Combine์ ๊ฐ๋ตํ ๊ฐ์value๋ event๋ฅผ ๊ฐ๊ณ ์๋ Publisher๊ฐ ์๊ณ ,Subscriber๋ ๊ทธ ๊ฐ์ Publisher๋ก๋ถํฐ ๋ฐ๊ณ ์ถ์ดํ๋ค.๊ทธ๋ฆฌ๊ณ Operator๊ฐ Subscriber์ Publisher๋ฅผ ์ฐ๊ฒฐํ๋ค.Subscriber๋ ๊ทธ Publish
A unified, declarative API for processing Values over time ์ ๋ํ ๊ฐ๋จํ ์ค๋ช ์ผ๋ก ์์ํ๋ค.์ฃผ๋ก ์น์์ HTTP ์ฝํ ์ธ ๋ฅผ ๋ค์ด๋ก๋
๐ App์ Unattached, Foreground Inactive, Foreground Active, Background, Suspended์ ๋ํด ์ค๋ช ํ์์ค ํค์๋ : Unattached, Foreground Inactive, Foreground Active,
์คํ ๋ ์ด์์์ ์ฝ๊ฒ ํ ์ ์๋ค๊ณ ๋ง์ด ๋ค์ด๋ณธ SnapKit์ ์ด๋ฒ์ ๊ฐ์ธ ํ์ ์ ํ๋ฉด์ ์ฌ์ฉํด๋ณด๋ ค๊ณ ํ๋ค.๊ทธ์ ์ ๊ธฐ์ด ๊ฐ๋ ์ ๋ฆฌ๐ทSnapKit github์ README๋ฅผ ๋ณด๋ฉดSnapKit is a DSL to make Auto Layout easy on both
์ ๋ฒ์ฃผ ์คํฐ๋์์ UIViewController์ ์๋ช ์ฃผ๊ธฐ์ ๋ํด ๊ณต๋ถํ๊ณ , ๊ผฌ๋ฆฌ ์ง๋ฌธ์ผ๋ก ๋์ฌ ์ ์๋ ๊ฒ๋ค์ ์ ๋ฆฌํ๋ค.๐ ํค์๋: init, loadView, viewDidLoad, viewWillAppear, viewDidAppear, viewWillDisapp