- ์บ ํ์ ๋ํ ์์๊ฐ ๋์์ง๋ ํ๊ฒฝ ์์์ ์ ๊ตญ ๊ฐ์ง์ ์๋ ์บ ํ์ฅ์ ๋ํ ์ ๋ณด ์ ๊ทผ์ ํธ์์ฑ์ด ํ์
- ์ง์ญ๋ณ / ๊ด์ฌ ํค์๋ / ๊ทผ์ฒ ์บ ํ์ฅ ๋ฑ ๋ค์ํ ๊ฒ์ ์ฌ๊ฑด์ ํตํ์ฌ ํธ๋ฆฌํ๊ฒ ์บ ํ์ฅ ์ ๋ณด ์ ๊ณต
- ์บ ํ์ฅ์ ๋ํด์ ํ๊ฐํ ์ ์๋ ๋ฆฌ๋ทฐ ์์ฑ ๋ฐ ์ฐ ๊ธฐ๋ฅ์ ํตํด ์ฌ์ฉ์ ํธ์์ฑ ์ฆ์ง
- Blog, Youtube, ๊ทผ์ฒ ๊ฐ๋ณผ๋งํ ์ฅ์ ๋ฑ ๋ถ๊ฐ์ ์ธ ์ ๋ณด ์ ๊ณต
- UIKit
- Alamofire
- Kingfisher
- Realm-cocoa
- Tabman
- ์ฒซ ๋ฒ์งธ ์๋: Scroll View๋ฅผ ํ์ฉํ X์ถ ๋ณ๊ฒฝ => ๋ ๋จ์ ๊ตฌ๋ถ์ ํ์ ๋ ์ด 16๋ฒ์ Api ํธ์ถ์ ๋ฐ์, ๊ฐ์ 16๊ฐ์ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ฅผ ๋ง๋ค๋ฉด์ ์ด์ง๋ฌ์์ง ๋์ ํ์ผ๋ค
- ๋ ๋ฒ์งธ ์๋: PageView๋ฅผ ํ์ฉํ ๊ตฌ์ฑ => Api ํธ์ถ์ ์ค์ผ ์ ์์์ง๋ง, ์์ฐ์ค๋ฝ์ง ์์ UI ๊ตฌ์ฑ ๋ฐ ์ ๋๋ฉ์ด์ , ContainerView ๊ตฌ์ฑ์ ์ฒซ ๊ฒฝํ
- ๋ง์ง๋ง ์๋: Tabman ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ฉ => ์ํ๋ ์คํฌ๋กค๋ง ์ ๋๋ฉ์ด์ ๋ทฐ ๊ตฌ์ฑ, ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ปค์คํ ๋ฐฉ์์ ๋ํ ํ์ต
- UIScrollView๋ฅผ ์ฒ์ ์ฌ์ฉํ๊ฒ๋๋ฉด์ ๊ฒช์ ๋ฌธ์ , ๊ฐ View์ ๋์ด๋ฅผ ์ง์ ๊ณ์ฐ
- ์คํ ๋ฆฌ๋ณด๋ ๊ธฐ๋ฐ์ผ๋ก UIScrollView์ ํ์ฉ ๋ฐฉ์์ ํ์ตํ๋ ๊ฒ์ ๋ชฉํ๋ก ์งํ
- UITableView์ ๋์ ๋์ด๋ฅผ ๊ตฌํํ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํํ์ ๋์ UIScroll๋ทฐ์ ์ฐจ์ด์ ์ ํ์คํ๊ฒ ์ธ์ง
- ํด๊ฒฐ์ฑ : ์ฌ๊ท๋ฅผ ํตํ View ๊ฐ์ ๋์ด๋ฅผ ๊ณ์ฐํ์ฌ Height ์ ์ฝ์ ์ ๋ฐ์ดํธ ํ๋ ๊ฒ / ๊ธฐ์ค์ด ๋๋ Content๋ฅผ ํ๋ ์ ํ์ฌ ๋ ์ด์์์ ๊ตฌ์ฑํ๋ ๊ฒ => ๊ณ ์ ๋ ๋์ด ๊ฐ์ ๋ํ ๊ณ์ฐ๊ณผ ๋ถ๊ธฐ ์ฒ๋ฆฌ๋ก ๋ชจ๋ ๊ณ์ฐํ์ฌ ์ ์ฉ
- ํ ํ๋ฉด์์ ์ฌ์ง ๋ฐ ์ ๋ณด ๊ด๋ จํ ๋ค์ํ API๋ฅผ ํธ์ถ
- ํด๊ฒฐ์ฑ : DispatchGroup์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ ํจ์นญ์ ์ฐ์ ์ ์ผ๋ก ์ํํ๊ณ ๋ทฐ ๊ทธ๋ฆฌ๊ธฐ(CGD ๋ฐ ๋น๋๊ธฐ ๊ด๋ จ ๊ฐ๋ ์ ๋ํ ํ์ต ์ ) => ์ฌ์ฉ์์ ๊ด์ ์์ ๊ฐ์ฅ ๋จผ์ ๋ณด์ฌ์ง๋ ๋ฐ์ดํฐ๋ถํฐ ์ฐ์ ์ ์ผ๋ก ๋ถ๋ฌ์ค๊ณ , ์ด ํ completionHandler๋ฅผ ์ฌ์ฉํ์ฌ ๋๊ธฐ์ ์ผ๋ก ๋ฐ์ดํฐ ํจ์นญ
- ์ ํ๋ธ ์ฐ๊ฒฐ๊ณผ ๊ด๋ จ๋ ๋ด๋ถ ์ฝํ ์ธ ๊ฐ ์ฐ๋ น๊ณผ ๋ง์ง ์์ ์ ์๊ธฐ์ ์ด์ ๋ํ ์ฐ๋ น ์ฌ์ค์ ์ผ๋ก ์ฌ์ฌ ๊ฑฐ์