์ค๋์ ๋ค๋น๊ฒ์ด์ ๋ฐ์ ๋ํด ์์๋ณด์
์คํ ํด๋ก์ ๋ ํจ์์ ์ธ์๋ก ์ ๋ฌ๋๋ ํํ์์ ์๋์ผ๋ก ๋ํํ๋ ํด๋ก์ ๋ค.
ํด๋ก์ ๋ ์ฝ๋์์ ์ ๋ฌํ๊ณ ์ฌ์ฉํ ์ ์๋ ๋ ๋ฆฝ๋ ๊ธฐ๋ฅ ๋ธ๋ก์ด๋ค. ํจ์์ ์ ์ฌํ ๊ธฐ๋ฅ์ ๊ฐ์ง๋ค.
ํญ ๋ฐ๋ ์๋ก ๋ค๋ฅธ ์น์ ๊ฐ ์ ํํ ๋ ์ฌ์ฉ๋๋ ์ธํฐํ์ด์ค ์์์ด๋ค.
API๋ฅผ ํตํด ์ฐ๋ฆฌ๋ ์๋น์ค์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐํ๊ณ , ์ธ๋ถ ์๋น์ค์ ์ํธ์์ฉํ๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ๋ค์ ์ ํ์ฉํ๊ธฐ ์ํด์๋ ๋จผ์ API ํค์ ๋ณด์ ๋ฌธ์ ์ ์ค์์ฑ์ ์์์ผ ํ๋ค.
๋ํ์ ์ผ๋ก ์ง๋์ฑ๊ณผ ๊ฐ์ด ์ฌ์ฉ์์ ์์น๋ฅผ ์ด์ฉํ ์ฑ๋ค์ด ๋ง๋ค. ์ฌ์ฉ์ ์์น๋ฅผ ํ์ฉํ๊ธฐ ์ํด CoreLocation์ ๋ํด ์์๋ณด์
์ฌ์ฉ์์ ๊ฒฝํ์ ์ฝ๊ฒ ๋ง๋ค๊ณ ๋ชจ๋ ๊ธฐ๊ธฐ์์ ์ข์ํ๋ ์ฑ๊ณผ ๊ฒ์์ ์ฆ๊ธธ ์ ์๋๋ก ๋์์ฃผ๋ ๋ ์ด์์์ ๋ํด ์์๋ณด์
์์ดํฐ์ ์ฑ ์ค์ ์ ๋ค์ด๊ฐ๋ฉด ์ ๊ทผ์ฑ ์ค์ ์ด ์๊ณ , ์๊ฐ๋ณด๋ค ๊ต์ฅํ ๋ง์ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๊ณ ์๋ค. ์ด ๊ธฐ๋ฅ๋ค์ ๊ธฐ๊ธฐ์ฌ์ฉ์ด ๋ถํธํ ์ฌ๋, ์ค์ฆ ์ฅ์ ๋ถํฐ ์์ฃผ ์ฌ์ํ ๋ถํธํจ๊น์ง ์ปค๋ฒํด ์ฃผ๋ ๊ธฐ๋ฅ๋ค์ด ๋ง์ด ์ ๊ณต๋๋ค. ์ด ์ ๊ทผ์ฑ์ ๋ํด ์์๋ณด์.
์ด๋ฒ์๋ Swift์ ๊ณต์ API Design Guide์ Special Instructionsํํธ์ ๋ํด ์์๋ณด์
์ด๋ฒ์๋ Swift์ ๊ณต์ API Design Guide์ Convention ํํธ์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ๋ค.
Swift์์๋ ์ด๋ฆ์ด ์ ๋ง ์ค์ํ๋ค ์ด๋ฒ์๋ Naming์ ๋ํด ์์๋ณด๋ฉด์ ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง ๋ณด์๋ฅผ ์ํ ์ฌ๋ฐ๋ฅธ ์ด๋ฆ์ง๊ธฐ๋ฅผ ์์๋ณด๋๋ก ํ์
iOS ๊ฐ๋ฐ์๋ ๊ผญ ์์์ผ ํ ๊ธฐ๋ณธ ์์น๋ค์ ํต์ฌ ๊ฐ์ด๋๋ผ์ธ์ ๋ํด ์์๋ณด์
NotificationCenter์ Notification์ ์ฑ ๋ด์ ๋ค์ํ ์ปดํฌ๋ํธ ๊ฐ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ์ ์ฉํ ๋๊ตฌ๋ค. NotificationCenter๋ฅผ ํตํด ์ด๋ฒคํธ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์
Key-Value-Ovserving(KVO)์ ๋ค๋ฅธ ๊ฐ์ฒด์ ์์ฑ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์ฒด์ ์๋ฆฌ๊ธฐ ์ํ ์ฝ์ฝ์ ํ๋ก๊ทธ๋๋ฐ ํจํด์ด๋ค.
KVC์ KeyPath ๋ชจ๋ ๊ฐ์ฒด์ ์์ฑ์ ๊ฐ์ ์ ์ผ๋ก ์ ๊ทผํ๋ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํ์ง๋ง, ๊ธฐ๋ณธ ์๋ฆฌ์ ์ฌ์ฉ๋ฒ์๋ ๋ช ํํ ์ฐจ์ด์ ์ด ์๋ค. ๊ฐ ๊ฐ๋ ์ ๋ํด ์์๋ณด๋๋ก ํ์
iOS ์์ ๋คํธ์ํน ์์ ์ ํ๊ธฐ ์ํด URLSession์ ์ฌ์ฉํ๋ค.
UITabBar๋ ํ๋จ์ ์์นํ๋ฉฐ, ์ฑ์ ์ฃผ์ ๊ธฐ๋ฅ๋ค์ ํ๋์ ๋ณผ ์ ์์ผ๋ฉฐ ์ฌ๋ฌ ํ๋ฉด ๋๋ ๊ธฐ๋ฅ ๊ฐ์ ๋น ๋ฅด๊ณ ํธ๋ฆฌํ ์ ํ์ด ๊ฐ๋ฅํ๋ค.
Alert์ ActionSheet๋ฅผ ํตํด ์ฌ์ฉ์์๊ฒ ์ค์ํ ์ ๋ณด๋ ์ ํ ๋ฉ์์ง๋ฅผ ์ฑ์ ํ๋ฆ์ ์ค๋จ์์ผ ์ฌ์ฉ์์๊ฒ ํ์ํ๋ค.
์ปจํ ์ธ ๋ฅผ ๊ณต์ ํ๊ฑฐ๋ ๋ค์ํ ์์ ์ ์ํํ ์ ์๋ UIActivityViewController๋ฅผ ์์๋ณด์.
UICollectionViewCompositionalLayout