
๊ณต์๋ฌธ์์์๋ UICollectionView๋ฅผ An object that manages an ordered collection of data items and presents them using customizable layouts.๋ผ๊ณ ์ ์ํ๊ณ ์์ต๋๋ค. ์ ๋ ฌ๋ da

์ค์ํํธ์์๋ let, var๋ก ์์&๋ณ์๋ฅผ ์ ์ธํ๊ฒ ๋๋๋ฐ์. ์ด๋ ๊ฒ๋ง ์์ฑํ๋ฉด Type Annotation missing์ด๋ผ๋ ์๋ฌ๊ฐ ๋๊ฒ ๋ฉ๋๋ค. ์๋ฌ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๋ณ์์ ํ์ ์ ๋ช ์์ ์ผ๋ก ์ง์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. ์ปดํ์ผ๋ฌ๊ฐ ๋ณ์, ์์์ ์๋ฃํ์ด ๋ฌด์์ธ์ง ์

์ด๊ฑฐํ์ ์ฐ๊ด์ฑ์ด ์๋ ๊ฐ๋ค์ ๋ชจ์๋ ๊ฒ์ ๋๋ค. ์ด๊ฑฐํ์ ์ผ๊ธ๊ฐ์ฒด๋ก์ ํ๋กํผํฐ๋ฅผ ๊ณ์ฐ ๋ฐ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ๋ ์ธ์คํด์ค ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋ค๊ณ ํ๋๋ฐ์. ์์งํ ๋ฌด์จ๋ง์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ผ๋๊น ์ฒ์๋ถํฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ์ฒด๋ค์ ์ผ๊ธ๊ฐ์ฒด๋ผ๊ณ ํ

์ด๋ฒ ํฉ๋์ธ๋ฏธ๋์์๋ SwiftLint๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๋๋ฐ์.SwiftLint๋ ๋ฌด์์ธ์ง, ๋ ๊นํ๋ธ ์ก์ ๊ณผ ์ฐ๊ฒฐํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์ฑํ๊ฒ ์ต๋๋ค.SwiftLint๋ ์ฝ๋ ์คํ์ผ์ ๋ถ์ํด์ฃผ๋ ์ ์ ๋๊ตฌ์ธ๋ฐ์. ๋ด๊ฐ ์์ฑํ ์ฝ๋๋ค์์ ๊ท์น์ ์ด๊ธ๋๋ ์ฝ๋๋ฅผ ์ฐพ์๋ด์

์ด๋ฒ ํฉ๋์ธ๋ฏธ๋์์ ์ ํฌ ํ์ด ๋งก์ ์๋น์ค๋ ํฌ๋๋ฉ์ดํธ์์ต๋๋ค.๊ทธ ์ค ์ ๋ ์บ๋ฆฐ๋๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋์๋๋ฐ์..์บ๋ฆฐ๋ UI ์์ ์ด ์ผ์ถ ์๋ฃ๋์๋๋ฐ, ์ ๋ฆฌ ๊ฒธ ํ๊ณ ๊ฒธ ์ํฐํด ์์ฑ๊ฒธ... ์ฌํผ ์์ฑํด๋ณด๋ ค๊ณ ํฉ๋๋ค.์ด๋ ๊ฒ ์๊ธด ์บ๋ฆฐ๋๋ฅผ ๋ง๋ค๊ฑด๋ฐ์.์ด๋ ๊ฒ ๊ตฌ์กฐ๋ฅผ ์งฐ๊ณ , ๋ฌ๋ ฅ ๋ถ๋ถ

๋คํธ์ํน ์ธํ ์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ฒ ์ด์ค ๋ฆฌ์คํฐ์ค๋ฅผ ์ง์ ํด์ฃผ์์ต๋๋ค.ํ์ง๋ง ์ผ๋ถ API์์ ์์ฒญ์ 200์ผ๋ก ์ ๋๋๋ฐ, ๋์ฝ๋ฉ์๋ฌ๊ฐ ๋ฐ์ํ์ต๋๋ค.๋ฌธ์ ์ํฉ์ ๋ค์๊ณผ ๊ฐ์์ต๋๋ค.PATCH api์์๋ ์๋ฒ์์ ์ค์ ํ ๋ฆฌ์คํฐ์ค์ data๊ฐ ์ค์ง ์์์ต๋๋ค. ๋ฒ ์ด์ค ๋ฆฌ

ํ๋กํผํฐ์ ์ข ๋ฅ์ ๋ํด ์ ๋ฆฌํฉ๋๋ค โ๐ป๊ฐ์ด ์ ์ฅ๋๋ ์ผ๋ฐ์ ์ธ ์์ฑ์ ๋๋ค. var, let ์ผ๋ก ์ ์ธ ๊ฐ๋ฅํ๋ฉฐ, ๊ฐ์ฒด๋ฅผ ์ด๊ธฐํํ ๋ ๊ฐ ์ ์ฅ์์ฑ์ ๋ฐ๋์ ๊ฐ์ ๊ฐ์ ธ์ผํฉ๋๋ค. (nil๋ก ์ด๊ธฐํํ๋ ๊ฒ๋ ๊ฐ๋ฅํจ)lazy ํค์๋๋ก ํด๋น ์์ฑ์ ์ด๊ธฐํ๋ฅผ ์ง์ฐ์ํต๋๋ค. ๊ทธ๋์

์ผ๋ฐ Stack๊ณผ ๋ค๋ฅด๊ฒ, Lazy ํค์๋๊ฐ ๋ถ์ LazyVStack๊ณผ LazyHStack์ ๊ฐ ์์ดํ ์ด ํ์ํ ๋ ์์ฑ๋ฉ๋๋ค. ์ธ๋ฏธ๋์์ ๋ฐฐ์ด LazyHGrid, LazyVGrid์ ๋น์ทํ ๋ฐฉ์์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. VStak์ ๋ค์ด๊ฐ๋ ๋ด์ฉ์ด ์์ฒญ ๋ง๋ค๋ฉด Lazy

๊ตฌ์กฐ์ฒด์ ํด๋์ค์ ์ด๊ธฐํ ๋ฐฉ๋ฒ์ ๋ํด ์์ฑํ์ต๋๋ค. ๊ตฌ์กฐ์ฒด๋ฅผ ์ด๊ธฐํํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ฐ์ ์ด๊ธฐํ๋ผ๋ ์ฉ์ด์ ๋ํด ์์๋ณด๋ฉด!์ด๊ธฐํ๋, ๊ตฌ์กฐ์ฒด, ์ด๊ฑฐํ, ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋๋ค.์ด๊ธฐํ์ ์ญํ ์ ๋ชจ๋ ํ๋กํผํฐ๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ด๊ธฐํํ๋ ๊ฒ์ด๋ฉฐ, ์ธ์คํด