learnings/Swift

'๊ณต๊ฐ„๊ธฐ๋ก' ์ด๋ผ๋Š” ํ† ์ดํ”„๋กœ์ ํŠธ ๋๋‚ด๋ฉฐ ๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ๊ธฐ๋ก์ด๋‹ค. ์•ˆ์ ค๋ผ์Œค์˜ ๊ฐ•์˜๋ฅผ ๋“ฃ๋‹ค๊ฐ€ ๋„์ €ํžˆ ๋‹ต๋‹ตํ•ด์„œ ๊ทธ๋ƒฅ ๋ฌด์ž‘์ • ๋งŒ๋“ค์–ด๋ณด์ž๋ฉฐ ์‹œ์ž‘ํ–ˆ๋‹ค. swift๋ž‘ ์กฐ๊ธˆ์ด๋ผ๋„ ์นœํ•ด์ง€๋ ค๋Š” ๋‚˜์˜ ๋…ธ๋ ฅ,,,์„ ๊นŒ๋จน์ง€ ์•Š๊ธฐ์œ„ํ•ด์„œ ์ ์–ด๋ณธ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ์—์„  ๋‹ค์Œ๊ณผ ๊ฐ™์€๊ฒƒ๋“ค์„ ๋‹ค๋ฃฌ๋‹ค. ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ๋ž‘ ์นœํ•ด์ง€๊ธฐ UIImagePickerController๋ฅผ ์ด์šฉํ•œ ์‚ฌ์ง„์ฒจ๋ถ€ CoreData๋ผ๋Š” Framework๋ฅผ ์‚ฌ์šฉํ•œ CRUD๊ตฌํ˜„ TableView, TableViewCell, ์ปค์Šคํ…€ ์…€์ด๋ž‘ ์–ด๋–ป๊ฒŒ๋“  ์นœํ•ด์ง€๊ธฐ 1. ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๋ž‘ ์นœํ•ด์ง€๊ธฐ Figma๋กœ ui๋””์ž์ธ ๋จผ์ € figma๋ผ๋Š” ๋””์ž์ธํˆด๋กœ ์•ฑ์˜ ์ƒ๊น€์ƒˆ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ui ์–ด๋–ป๊ฒŒ์งœ์ง€,,์•„์ดํŒจ๋“œ์— ๋Œ€์ถฉ ๊ทธ๋ ค์•ผํ•˜๋‚˜ ํ•˜๋˜์ค‘์— ์œ ํŠœ๋ธŒ ๋ณด๋‹ค๊ฐ€ ์šฐ์—ฐํžˆ ์•Œ๊ฒŒ๋๋Š”๋ฐ, ์ด๊ฑฐ๋ผ๋ฉด ๋‚˜๋„ ์“ธ์ˆ˜ ์žˆ๊ฒ ๋‹ค ์‹ถ์—ˆ๋‹ค...
๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.
0. ์ฒซ๊ฑธ์Œ ์ปดํ“จํ„ฐ ๊ณตํ•™๊ณผ์— ๋“ค์–ด๊ฐ€๋ฉด ๋‹น์—ฐํžˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋ฐฐ์šด๋‹ค. ์–ธ์–ด๋Š” ํ•™๊ต๋งˆ๋‹ค ์ฐจ์ด๊ฐ€ ์žˆ์ง€๋งŒ, c๋ฅผ ์ฒซ ์‹œ์ž‘์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ๊ฐ์ฒด์ง€ํ–ฅ ๋“ฑ๋“ฑ.. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ดˆ์ ์ธ๊ฒƒ๋“ค์„ ๋ฐฐ์šด ํ›„์— ์ฝ”๋”ฉ์„ ํ•˜๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด์„œ, ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๊ฐœ๋ฐœ๊ณผ๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ์ ์  ๋ฉ€์–ด์ง€๋Š”๊ฒƒ์„ ๋Š๋‚€๋‹ค.... ์—ฅ? ๊ต์ˆ˜๋‹˜ ๊ทผ๋ฐ ์ €๋Š”์š” ์ด๋Ÿฐ๊ฑฐ๋ง๊ตฌ ํ•ธ๋“œํฐ์ด๋‚˜ ์ปดํ“จํ„ฐ์—์„œ ์‹ค์ œ๋กœ ๊ตฌ๋™ํ•˜๋Š” GUI๊ธฐ๋ฐ˜์˜ ์˜ˆ์œ ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ๋งŒ๋“ค๊ณ  ์‹ถ์€๋ฐ์š”..? ์™œ ์–ด์ฐŒํ•˜์—ฌ ์ „๋ถ€ ์ƒˆ๊นŒ๋งŒ ์ฝ˜์†”์—์„œ ๋Œ์•„๊ฐ€๋Š”๊ฒƒ๋งŒ ๋ฐฐ์šฐ์ฃ ..? ์ €๋„ ์Šค๋งˆํŠธํฐ ์–ดํ”Œ๊ฐ™์€๊ฑฐ ๋งŒ๋“ค๊ณ ์‹ถ์–ด์š”! ์˜ˆ์œ๊ฑฐ! ๊น”๋”ํ•œ๊ฑฐ! ์žˆ์–ด๋ณด์ด๋Š”๊ฑฐ! (์ฝ˜์†”์ฐฝ์ด ์ œ์ผ๊น”๋”ํ•˜๋˜๋ฐ?๊ทผ๋ฐ๊ทธ๊ฑด๋„ˆ๋ฌด๊น”๋”ํ•˜์ž–์•„) ์–ด๋ฆผ๋„ ์—†์ง€. ํ•™๊ต์—์„œ ๊ฐ€๋ฅด์น˜๋Š”๊ฒƒ ๋งŒ์œผ๋กœ๋Š” ๊ทธ๋Ÿฐ๊ฑฐ ๋ชป๋งŒ๋“ ๋‹ค. ์ ์–ด๋„ ์šฐ๋ฆฌํ•™..