๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

iOS/TIL

22.07.18 - 19 ใ…ฃ Enum CaseIterable & Table View

 

 

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 ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.