Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป
๋ฐ˜์‘ํ˜•

Developer 61

[iOS] Swift๋กœ ์•„์ฃผ ๊ฐ„๋‹จํ•œ Todo List ๋งŒ๋“ค๊ธฐ (1)

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์ž์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ํŒจ์ŠคํŠธ ์บ ํผ์Šค ๊ฐ•์˜๋ฅผ ๋ณด๋ฉด์„œ ๋”ฐ๋ผํ•ด๋ณธ (ํด๋ก ์ฝ”๋”ฉ) ๊ฐ„๋‹จํ•œ Todo List๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋Š” ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ ๋ฆฌ๋ทฐ๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ•ด์š”. ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ์•ฑ๊ฐœ๋ฐœ์ด๋‹ค๋ณด๋‹ˆ, ํด๋ก ์ฝ”๋”ฉ์„ ํ•˜๋ฉด์„œ๋„ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด ์กฐ๊ธˆ ์žˆ๋”๋ผ๊ตฌ์š”. ๊ทธ๋ž˜์„œ ํ”„๋กœ์ ํŠธ๊ฐ€ ํ•˜๋‚˜์”ฉ ๋๋‚ ๋•Œ๋งˆ๋‹ค ์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜๊ฒŒ๋ผ๋„ ๋ฆฌ๋ทฐ๋ฅผ ๋‚จ๊ฒจ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๊ตฌํ˜„ํ•˜๊ณ , ๊ธฐ๋Šฅ๊ณผ ์„ค๋ช…์„ ์ •๋ฆฌํ•ด๋‘” ๊นƒํ—ˆ๋ธŒ ๋งํฌ์ž…๋‹ˆ๋‹ค. (์™„์ „ํ•œ ์ „์ฒด์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.) https://github.com/deslog/TodoList GitHub - deslog/TodoList Contribute to deslog/TodoList development by creating an account on GitHub. github.com 0. ์ค€๋น„ ์šฐ๋ฆฌ๋Š” ์•ฑ๊ฐœ๋ฐœ..

Apple Developer Academy @ POSTECH ์ง€์› ํ›„๊ธฐ - โ‘ก ์˜จ๋ผ์ธ TEST ํŽธ

์•ˆ๋…•ํ•˜์„ธ์š” ๊ฐ์ž์ž„๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๋ฐฑ์‹  ๋ถ€์ž‘์šฉ(?) ๋•Œ๋ฌธ์— ์‘๊ธ‰์‹ค์„ ๋‹ค๋…€์˜ค๊ณ  ๋ง์ด ์•„๋‹ˆ๋„ค์š”. ๊ทธ๋ž˜์„œ ์ง‘์ค‘์ด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์˜จ๋ผ์ธ TEST ํ›„๊ธฐ๋ฅผ ๋‚จ๊ฒจ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. (์ธ๋„ค์ผ์—์„œ ๋‚˜์™€์žˆ๋“ฏ์ด ์ „ ํ•ฉ๊ฒฉํ•ด์„œ ๋ฉด์ ‘ ๋Œ€์ƒ์ž๋กœ ์„ ์ •๋˜์—ˆ๋‹ต๋‹ˆ๋‹ค ํ˜ธํ™‹!) ๊ทธ๋Ÿผ ์‹œ์ž‘! 0. ๋“ค์–ด๊ฐ€๋ฉฐ ์šฐ์„ , ๋ฌธ์ œ์— ๋Œ€ํ•œ ์œ ์ถœ์„ ํ•˜์ง€ ์•Š๊ฒ ๋‹ค๋Š” ์„œ์•ฝ์„ ํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์—, ๊ตฌ์ฒด์ ์ธ ๋ฌธ์ œ ๊ณต๊ฐœ๋Š” ์•ˆ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ•œ๊ตญ์—์„œ์˜ ์ฒซ ์‹œํ—˜์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋„ˆ๋ฌด๋‚˜ ๊ถ๊ธˆํ–ˆ์—ˆ๋Š”๋ฐ์š”, ์ด๋ฒˆ์„ ์‹œ์ž‘์œผ๋กœ ๋‹ค์Œ์— ์žˆ์„ 2๊ธฐ ํ…Œ์ŠคํŠธ, ๊ทธ๋ฆฌ๊ณ  ๋ฏธ๋ž˜์— ์ด๊ธ€์„ ๋ณด๋Š” ์‚ฌ๋žŒ๋“ค, ๊ทธ๋ฆฌ๊ณ  ํ˜น์‹œ๋‚˜ ๋‚ด๊ฐ€ ๋‹ค์Œ์— ๋˜ ๋ณผ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ^^ ํ›„๊ธฐ๋ฅผ ๋‚จ๊ฒจ๋‘๋ ค๊ตฌ์š”. (๊ณต์œ ์ •์‹ ) ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค 1. ์˜จ๋ผ์ธ TEST ๋ฐฉ์‹ ์šฐ์„ , ์ด๋ฒˆ ์• ํ”Œ ๋””๋ฒจ๋กœํผ ์•„์นด๋ฐ๋ฏธ (์• ํ”Œ ๊ฐœ๋ฐœ์ž ์•„์นด๋ฐ๋ฏธ)์—์„œ๋Š” ์ง€์›์ž ์ „๋ถ€ ์‹œํ—˜์„..

Apple Developer Academy @ POSTECH ์ง€์› ํ›„๊ธฐ - โ‘  CV, Portfolio ํŽธ (CV, ํฌํŠธํด๋ฆฌ์˜ค ๊ณต๊ฐœ)

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์ž์ž…๋‹ˆ๋‹ค! ์ง€๊ธˆ ์นดํŽ˜์ธ๋ฐ, ๊ณต๋ถ€์— ์ง‘์ค‘์ด ๋„ˆ๋ฌด ์•ˆ๋˜๋„ค์š” ... ๊ทธ๋ž˜์„œ !! ์ง€๊ธˆ ์ „ํ˜•์ค‘์— ์žˆ๋Š” Apple Developer Academy์— ์ง€์›ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. (์š”์ฆ˜ ๋‚ด ์ธ์ƒ์˜ ์ „๋ถ€ใ…Žใ…Ž) ์• ํ”Œ ๊ฐœ๋ฐœ์ž ์•„์นด๋ฐ๋ฏธ์˜ ์ง€์›๋™๊ธฐ์™€ CV์™€ Portfolio ๊ด€๋ จ๋œ ๋‚ด์šฉ๋งŒ ๊ถ๊ธˆํ•˜์‹œ๋‹ค๋ฉด ์ทจ์ค€ ๋„์ „๊ธฐ ๊ธ€์€ ๋ชจ๋‘ skip ํ•˜๊ณ  ๋‚ด๋ ค๊ฐ€์ฃผ์„ธ์š”~! 0. ์ง€๊ธˆ๊นŒ์ง€์˜ ์ทจ์ค€ ๋„์ „๊ธฐ 1) 2020๋…„ ํ•˜๋ฐ˜๊ธฐ ์ฒ˜์Œ์œผ๋กœ ์ทจ์ค€์„ ์‹œ์ž‘. ๋ฒŒ์จ 1๋…„์ด ๋„˜๊ฒŒ ์ง€๋‚ฌ๋‹ค. (์ทจ์ค€ํ•˜๋Š”๋ฐ ์™œ ๋‚˜๋งŒ ๋‚˜์ด๋“œ๋Š”๊ฑฐ๊ฐ™์•„ใ…œ) ์‚ด๋ฉด์„œ ๊ฐ€์žฅ ๋ฐ”์˜๊ฒŒ ๋ณด๋ƒˆ๋˜ ์‹œ์ ˆ์ด์—ˆ๋‹ค. 2020๋…„ ํ•˜๋ฐ˜๊ธฐ๋Š” "์จ๋จธ์Šคํ”Œ๋žซํผ"์ด๋ผ๋Š” ํšŒ์‚ฌ์—์„œ 6๊ฐœ์›”๊ฐ„ ์ธํ„ด ์ƒํ™œ์„ ํ•˜๋ฉด์„œ ์ทจ์—…์ค€๋น„๋ฅผ ๋ณ‘ํ–‰ํ–ˆ๋‹ค. ์จ๋จธ์Šคํ”Œ๋žซํผ์—์„œ์˜ ์ธํ„ด ์ƒํ™œ์€ ์ข‹์•˜๋‹ค. ์‚ฌ๋žŒ๋“ค๋„ ์ข‹์•˜๊ณ , ๋ฐฐ์šธ์ ์ด ์ •๋ง ๋งŽ์•˜..

[Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ๊ณ ์ฐจํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ๋ฐฐ์›Œ๋ณด์ž (map, filter, reduce)

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์ž์ž…๋‹ˆ๋‹ค. ์ด์ œ ์Šฌ์Šฌ swift์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ๊ฐœ๋…์ด ๋งˆ๋ฌด๋ฆฌ๋˜์–ด๊ฐ€๋Š”๋ฐ์š”, ์„œ์นญ์„ ํ•˜๋ฉดํ•  ์ˆ˜๋ก ๊ทธ์ €'๊ธฐ์ดˆ!' ์ผ ๋ฟ์ด๋”๋ผ๊ตฌ์š” ^^ ์™ค์ผ€ ์ˆจ๊ฒจ์ง€๊ณ  ์–ด๋ ต๊ณ  ๊ผฌ์•„์ง„ ๋ฌธ๋ฒ•๋“ค์ด ๋งŽ์€๊ฑด์ง€... ์•„์ง ๊ฐˆ๊ธธ์ด ๋จธ๋„ค์š”. ํŒŒ์ด์ฌ์œผ๋กœ ๋‹ค๋ฅธ ๋ถ„์•ผ๋งŒ ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ ์ฒ˜์Œ์œผ๋กœ ์–ธ์–ด๋ฅผ ์ด๋ ‡๊ฒŒ ๋˜ ์ƒˆ๋กญ๊ฒŒ ๊ณต๋ถ€ํ•ด๋ณด๋Š” ๊ฒƒ์ธ๋ฐ, ์•„์ฃผ ์•„์ฃผ ์ƒˆ๋กญ๋„ค์š”! ์–ผ๋ฅธ todo list๋ผ๋„ ๊ฐœ๋ฐœ ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ค๋ ฅ์„ ๊ฐ€์งˆ ๋•Œ๊นŒ์ง€,,,, ํ™”์ดํŒ… ํ•ด๋ด…์‹œ๋‹ค.! ๊ณ ์ฐจํ•จ์ˆ˜๋ž€? ๋‹ค๋ฅธํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌ์ธ์ž๋กœ ๋ฐ›๊ฑฐ๋‚˜, ํ•จ์ˆ˜ ์‹คํ–‰์˜ ๊ฒฐ๊ณผ๋ฅผ ํ•จ์ˆ˜๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. swift์˜ ํ•จ์ˆ˜๋Š” ์ผ๊ธ‰๊ฐ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•จ์ˆ˜์— ์ „๋‹ฌ์ธ์ž๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. swift์—์„œ ์ง€์›ํ•˜๋Š” ๊ณ ์ฐจํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. map filter reduce ์ด ์„ธ ๊ฐœ์˜ ํ•จ์ˆ˜..

Swift/Swift BASIC 2022.01.23

[Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ํด๋กœ์ €์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ๊ฐœ๋… (closure)

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์ž์ž…๋‹ˆ๋‹ค! ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ํด๋กœ์ €์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค. ๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํ”„ 30๊ฐœ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐฐ์šฐ๋Š” ios์•ฑ ๊ฐœ๋ฐœ, ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋“ค์„ ์ฐธ๊ณ ํ•ด์„œ ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ถœ์ฒ˜๋Š” ๋ฐ‘์—๋‚จ๊ฒจ์š”! ํด๋กœ์ €๋ž€? ํด๋กœ์ €๋Š” ์ฐธ์กฐํƒ€์ž…์ด๊ณ , ์ฝ”๋“œ์—์„œ ์ „๋‹ฌ ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋…๋ฆฝ๊ธฐ๋Šฅ์ด๋ฉฐ, ์ผ๊ธ‰ ๊ฐ์ฒด์˜ ์—ญํ• ์„ ํ•œ๋‹ค. ์ผ๊ธ‰๊ฐ์ฒด๋ž€ ์ „๋‹ฌ์ธ์ž๋กœ ๋ณด๋‚ผ ์ˆ˜๋„ ์žˆ๊ณ , ๋ณ€์ˆ˜/์ƒ์ˆ˜ ๋“ฑ์œผ๋กœ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ „๋‹ฌ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’์ด ๋  ์ˆ˜๋„ ์žˆ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋ณดํ†ต ํด๋กœ์ €๋ผ๊ณ  ํ•˜๋ฉด ์ด๋ฆ„์—†๋Š” ํ•จ์ˆ˜ ์ฆ‰, ์ต๋ช…ํ•จ์ˆ˜๋ฅผ ์ง€์นญํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํด๋กœ์ €๋Š” named ํด๋กœ์ €, unnamed ํด๋กœ์ € ๋‘˜๋‹ค ํฌํ•จํ•œ๋‹ค. ํด๋กœ์ € ํ‘œํ˜„์‹์€ ๋‹ค์Œ๊ณผ๊ฐ™๋‹ค. ์ต๋ช…ํ•จ์ˆ˜์—ฌ์„œ func๋ผ๋Š” ํ‚ค์›Œ๋“œ๋Š” ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํด๋กœ์ € ํ—ค๋“œ์™€ ํด๋กœ์ € ๋ฐ”๋””๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. ๋…ธ๋ž€..

Swift/Swift BASIC 2022.01.23

[Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ์˜ˆ์™ธ์ฒ˜๋ฆฌ (throws, do-catch, try)

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์ž์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์—๋Ÿฌ๋ฅผ ๋‹ค๋ฃจ๋Š” try-catch๊ตฌ๋ฌธ์— ๋Œ€ํ•ด์„œ ๋ฐฐ์›Œ๋ณด๋„๋ก ํ•˜์ฃ ! ๊ฐ„๋‹จํ•˜๋‹ˆ ์–ด์„œ gogo~ ๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํ”„ 30๊ฐœ๋กœ ๋ฐฐ์šฐ๋Š” ios๊ฐœ๋ฐœ ๊ฐ•์˜์™€, ์ธํ„ฐ๋„ท ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…๋“ค์„ ๋ณด๋ฉฐ ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค :) try-catch๋ž€? try-catch๋ž€ ์—๋Ÿฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ๋ฌธ์ด๋‹ค. ์—๋Ÿฌ์ฒ˜๋ฆฌ๋ž€, ํ”„๋กœ๊ทธ๋žจ๋‚ด์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ์ƒํ™ฉ์— ๋Œ€์‘ํ•˜๊ณ  ์ด๋ฅผ ๋ณต๊ตฌํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. Swift์—์„œ๋Š” ๋Ÿฐํƒ€์ž„์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ, ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฐœ์ƒ, ๊ฐ์ง€, ์ „ํŒŒ, ์กฐ์ž‘์„ ์ง€์›ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ชจ๋“ ๊ธฐ๋Šฅ์ด ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š”๋Œ€๋กœ ๋™์ž‘ํ•œ๋‹ค๋Š” ๋ณด์žฅ์€ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ์˜ค๋ฅ˜ ์ƒํ™ฉ์„ ๊ตฌ๋ณ„ํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ ์ž์ฒด์ ์œผ๋กœ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž์—๊ฒŒ ์–ด๋–ค ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ๋“ฑ์— ๋Œ€..

Swift/Swift BASIC 2022.01.23

[Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ์˜ต์…”๋„ ์ฒด์ด๋‹ (Optional Chaining) (ํ•จ์ˆ˜์™€ ๋”•์…”๋„ˆ๋ฆฌ-()?, []?, ?()?, ?[]?)

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์ž์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ์˜ต์…”๋„ ์ฒด์ด๋‹์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ด…์‹œ๋‹ค. ๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํผ์Šค 30๊ฐœ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐฐ์šฐ๋Š” iOS์•ฑ ๊ฐœ๋ฐœ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ์ž‘์„ฑํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค :) ์˜ต์…”๋„ ์ฒด์ด๋‹(Optional Chaning) ์ด๋ž€? chaining์ด๋ผ๋Š” ๊ฒƒ์€ ์—ฐ์‡„๋ผ๋Š” ๋œป์œผ๋กœ, ์˜ต์…”๋„์„ ์—ฐ์‡„์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. (์˜ต์…”๋„ ๊ฐœ๋…) ๊ธฐ๋ณธ์ ์ธ ํ˜•ํƒœ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. person.contacts?.address person?.contacts?.address ์ด์ œ ๊ฐœ๋ฐœ์„ ํ•˜๊ฒŒ ๋˜๋ฉด, ์ด๋Ÿฌํ•œ ํ˜•ํƒœ๋ฅผ ๋งŽ์ด ๋ณด๊ฒŒ ๋ ํ…๋ฐ ํ™•์‹คํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋ณด๋„๋ก ํ•˜์ž :) ์˜จ์ (.) ์„ ํ†ตํ•ด ๋‚ด๋ถ€ ํ”„๋กœํผํ‹ฐ๋‚˜ ๋ฉ”์„œ๋“œ์— ์—ฐ์†์ ์œผ๋กœ ์ ‘๊ทผํ•˜๊ฒŒ ๋  ๋•Œ, ์˜ต์…”๋„ ๊ฐ’์ด ํ•˜๋‚˜๋ผ๋„ ๊ปด ์žˆ๋‹ค๋ฉด, ์˜ต์…”๋„ ์ฒด์ด๋‹์ด๋‹ค. ์ด๊ฒƒ์ด ๋ฌด์Šจ๋ง์ด๋ƒ, person.c..

Swift/Swift BASIC 2022.01.20

[Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ์—ด๊ฑฐํ˜• (enum)

์•ˆ๋…•ํ•˜์„ธ์š” ๊ฐ์ž์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜ ๋“œ๋””์–ด! ์—ด๊ฑฐํ˜•์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•์„ ์•Œ์•„๋ด…์‹œ๋‹ค. ์•ž์„œ ๊ณต๋ถ€ํ•  ๋•Œ ํ•ญ์ƒ ๊ตฌ์กฐ์ฒด, ํด๋ž˜์Šค, ์—ด๊ฑฐํ˜•์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค~~ ์ด๋Ÿฐ์‹์˜ ๋ฌธ๊ตฌ๊ฐ€ ๋งŽ์ด ๋“ฑ์žฅํ–ˆ๋Š”๋ฐ์š”, ์—ด๊ฑฐํ˜•์ด ๊ณผ์—ฐ ์–ด๋–ค๊ฒƒ์ผ์ง€ ๊ถ๊ธˆํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ด๊ฑฐํ˜•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ฃ ! ๊ทธ๋Ÿผ ๊ณ !! ๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํผ์Šค์˜ 30๊ฐœ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐฐ์šฐ๋Š” iOS์•ฑ ๊ฐœ๋ฐœ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒจ์ŠคํŠธ์บ ํผ์Šค [์ง์žฅ์ธ ์‹ค๋ฌด๊ต์œก] ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ์˜์ƒํŽธ์ง‘, UX/UI, ๋งˆ์ผ€ํŒ…, ๋ฐ์ดํ„ฐ ๋ถ„์„, ์—‘์…€๊ฐ•์˜, The RED, ๊ตญ๋น„์ง€์›, ๊ธฐ์—…๊ต์œก, ์„œ๋น„์Šค ์ œ๊ณต. fastcampus.co.kr ์—ด๊ฑฐํ˜•์ด๋ž€? ์—ด๊ฑฐํ˜•์ด๋ž€, ์—ฐ๊ด€์„ฑ์ด ์žˆ๋Š” ๊ฐ’์„ ๋ชจ์•„ ๋†“์€ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ด„ ์—ฌ๋ฆ„ ๊ฐ€์„ ๊ฒจ์šธ ๊ฐ™์ด ์—ฐ๊ด€๋œ ํ•ญ๋ชฉ๋ผ๋ฆฌ ๋ฌถ์–ด ๋†“์€ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋Ÿผ ์Šค์œ„ํ”„ํŠธ..

Swift/Swift BASIC 2022.01.20

[Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - extension(ํ™•์žฅ)

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์ž์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ์ต์Šคํ…์…˜์— ๋Œ€ํ•ด์„œ ๋ฐฐ์›Œ๋ณด๋„๋ก ํ• ๊ฒŒ์š”. ๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํผ์Šค์˜ 30๊ฐœ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐฐ์šฐ๋Š” iOS์•ฑ๊ฐœ๋ฐœ with Swift ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. extension(์ต์Šคํ…์…˜) ์ด๋ž€? extension(์ต์Šคํ…์…˜, ํ™•์žฅ) ๊ธฐ๋Šฅ์€ ์ด์ „์˜ ๋‚ด๋ถ€ ์†Œ์Šค๋ฅผ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ์›๋ณธ ํƒ€์ž…๋“ค์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ๋ฒ•์ด๋‹ค. ๊ธฐ์กด์˜ ํด๋ž˜์Šค, ์—ด๊ฑฐํ˜•, ํ”„๋กœํ† ์ฝœ์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ต์Šคํ…์…˜์ด ํƒ€์ž…์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์—ฐ์‚ฐ ํƒ€์ž… ํ”„๋กœํผํ‹ฐ / ์—ฐ์‚ฐ ์ธ์Šคํ„ด์Šค ํ”„๋กœํผํ‹ฐ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ํƒ€์ž… ๋ฉ”์„œ๋“œ / ์ธ์Šคํ„ด์Šค ๋ฉ”์„œ๋“œ ์ •์˜ ์ƒˆ๋กœ์šด ์ƒ์„ฑ์ž (initializer)์˜ ์ œ๊ณต subscripts ์ ‘๊ทผ๋ฐฉ์‹ ์ •์˜ ์ค‘์ฒฉ ํƒ€์ž…์˜ ์ •์˜ ๋ฐ ์‚ฌ์šฉ ํŠน์ • ํ”„๋กœํ† ์ฝœ์„ ์ค€์ˆ˜ํ•  ์ˆ˜..

Swift/Swift BASIC 2022.01.20

[Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - assert

์•ˆ๋…•ํ•˜์„ธ์š” ๊ฐ์ž์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” assert์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ๊ฒŒ์š”! assert๋Š” ์กฐ๊ฑด์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜๋กœ ์ฃผ๋กœ guard๋ฌธ๊ณผ ํ•จ๊ป˜ ๋ฐฐ์šฐ๋Š”๋ฐ์š”, ์ด๋ฏธ guard๋ฌธ์— ๋Œ€ํ•œ ํฌ์ŠคํŒ…์€ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” assert๋งŒ ๋‹ค๋ฃฐ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. guard๋ฌธ์ด ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ์—ฌ๊ธฐ๋ฅผ click! [Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - guard ๊ตฌ๋ฌธ (guard๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ) ์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์ž์ž…๋‹ˆ๋‹ค! swift์˜ ์กฐ๊ฑด๋ฌธ์€ ๋‹ค๋ฅธ ์–ธ์–ด๋“ค๊ณผ ๋น„์Šทํ•˜๊ฒŒ if, switch๊ตฌ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•ฝ๊ฐ„์€ ์ƒ์†Œํ•  ์ˆ˜ ์žˆ๋Š” guard ๋ฌธ์ด ์žˆ๋Š”๋ฐ์š”, ์ด์— ๋Œ€ํ•ด์„œ ์ž์„ธํžˆ ๊ณต๋ถ€ํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ didu-story.tistory.com guard ๋ฌธ์ด๋ž€? (๊ฐ„๋‹จํ•˜๊ฒŒ ๊ฐœ๋…๋งŒ (เน‘หƒฬตแด—ห‚ฬต)ูˆ ) ๋ญ”๊ฐ€๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ๊ทธ ๋‹ค์Œ์— ์˜ค๋Š” ์ฝ”..

Swift/Swift BASIC 2022.01.19
๋ฐ˜์‘ํ˜•