Enum CaseIterable
Enum์ ํ์ฉํด ์ด๊ฑฐํ ํ์ ํ๋กํผํฐ์ธ allCases๋ฅผ ํ์ฉํ์ฌ ๋ฐฐ์ด์ฒ๋ผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋จ์ ๋ฐฐ์ด์ ์ฌ์ฉํ ๋๋ณด๋ค ์ฝ๋๋ฅผ ํจ์ฌ ๋ ์ง๊ด์ ์ด๊ณ ํจ์จ์ ์ผ๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
Table View
๋ค์์ Table View Controller ์ ๊ผญ ์์ฑํด์ผ ํ๋ ์ฝ๋์ ๋๋ค. ์ฐ์ Table View ๋ Section / Row / Cell ๋ก ์ด๋ฃจ์ด์ ธ์๊ธฐ ๋๋ฌธ์, ๊ฐ๊ฐ์ด ๋ช ๊ฐ์ Section์ด๋ Row๋ก ์ด๋ฃจ์ด์ ธ ์๋์ง ์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ฝ๋์ ๊ฒฝ์ฐ ํ๋์ Section ์์ ๋ฐฐ์ด ๋ด ์์์ ๊ฐ์๋งํผ Row๊ฐ ์๋ ๊ตฌ์ฑ์ ๋๋ค.
- TableViewCell Reuse Mechanism (์ฌ์ฌ์ฉ ๋ฉ์ปค๋์ฆ)
์ฌ์ฌ์ฉ ๋ฉ์ปค๋์ฆ์ด๋, Table View ์ ๊ฒฝ์ฐ ๋น์ทํ ํํ์ Cell ์ ์ผ์ผ์ด ๋ง๋ค์ง ์๊ณ identifier ์ด๋ผ๋ ๋ชจํํ์ ๊ฐ์ง๊ณ indexPath๋ฅผ ์ง์ ํด Table View ์ ๋ด์ฉ์ ์ถ๊ฐํ๋ ๋ฉ์ปค๋์ฆ์ ์๋ฏธํฉ๋๋ค. ๊ทธ๋ฌ๋ค ๋ณด๋, ๋ด์ฉ๋ง ๋ฐ๊ฟ์ฃผ๋ ๋ผ๋ฒจ์ ์ ์์ ์ผ๋ก ๋ฐ๋์ง๋ง ๋ฒํผ์ ํด๋ฆญ์ด๋ ์์ ๋ณํ์ ๊ฐ์ ๊ฒฝ์ฐ์ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
- Custom TableView Cell ๋ง๋ค๊ธฐ
์ฐ์ Table View Cell ์ ์์ฑํ ํ Custom Class ์ ์ฐ๊ฒฐํด์ค๋๋ค.
Table View Cell ์์๋ Table View ์์ customํ ๋ค์ํ ํญ๋ชฉ๋ค์ ์์๋ ์ผ๋ก ์ฐ๊ฒฐํด์ค๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ธ์คํ์ ์์ญ์์ Identifier๋ฅผ String ํํ๋ก ์ง์ ์์ฑํด์ฃผ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ด์ Identifier๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ค์ํ๊ฒ Table View ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.