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

๋ฐ˜์‘ํ˜•

Language

(13)
Swift ) ๊ธฐ์ดˆ ๋ฌธ๋ฒ• 5์ผ์ฐจ - UnWrap ์˜ต์…”๋„ ๋ณ€์ˆ˜ ๐ŸŒ€ Optional ์ด๋ž€ ? - ํƒ€์ž…์— ๊ฐ’์ด ์žˆ์„์ˆ˜๋„ ์—†์„์ˆ˜๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ณ  ํƒ€์ž…๋’ค์— ?๋ฅผ ๋ถ™์—ฌ์„œ Optional ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ๋ณ€์ˆ˜์˜ ๊ฐ’์ด nil ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ Optional ๋ณ€์ˆ˜๋“ค์€ ๊ฐ’์ด Optional("—-") ํ˜•์‹์œผ๋กœ ํ‘œ์‹œ๋˜๊ธฐ ๋•Œ๋ฌธ์— value ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์—๋Š” unwrapping์„ ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. unwrapํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋จผ์ € Force unwrapping์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ’ ๋’ค์— !๋ฅผ ๋ถ™์ด๋ฉด ๋˜๋Š”๋ฐ ์ด๋•Œ value๊ฐ€ nil์ธ ๊ฒฝ์šฐ์— force unwrapping์„ ์‹œ๋„ํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๐ŸŒ€ Optional ์„ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ? Optinal ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์€ Optional Binding ๊ณผ Optinal Chaini..
Swift ) ๊ธฐ์ดˆ ๋ฌธ๋ฒ• 4์ผ์ฐจ - For ๋ฐ˜๋ณต๋ฌธ & Wildcard Pattern 4์ผ์ฐจ - for ๋ฐ˜๋ณต๋ฌธ for index in 0...5 { print("ํ˜ธํ˜ธ index: \(index)") } for index in 0..
Swift ) ๊ธฐ์ดˆ ๋ฌธ๋ฒ• 3์ผ์ฐจ - Enum Swift ๊ธฐ์ดˆ๋ฌธ๋ฒ• 3์ผ์ฐจ Enum ์‹ค์ œ ๊ฐ•์˜์—์„œ๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์‹œ์ง€๋งŒ, ํ‰์†Œ์— ์ •๋ฆฌํ•ด๋‘๊ณ  ์‹ถ์—ˆ๋˜ ๋‚ด์šฉ๋“ค์„ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค ! ๐Ÿœ Enum ์ด๋ž€ ? ๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด ์ƒ์ˆ˜ ์—ญํ• ์„ ํ•˜๋Š” ๊ฐ’๋“ค์„ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ๋‚˜์—ดํ•ด๋†“๋Š” ๊ฒƒ + ๊ฐ™์€ ์ฃผ์ œ๋กœ ์—ฐ๊ด€๋œ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฉค๋ฒ„๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๋‚˜ํƒ€๋‚ด๋Š” ์ž๋ฃŒํ˜• โ›ฑ ์—ด๊ฑฐํ˜•์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ? ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•ด์ง€๊ณ , ์ฝ”๋“œ ๊ฐ€๋…์„ฑ๋„ ์ข‹์•„์ง€๊ณ , ์‹ค์ˆ˜๋ฅผ ์ค„์—ฌ์ค€๋‹ค ! ๋˜ํ•œ Heap์— ์ €์žฅ๋˜๋Š” String๊ณผ ๋‹ฌ๋ฆฌ, Enum์€ ๊ฐ’ ํ˜•์‹์œผ๋กœ Stack์— ์ €์žฅ๋˜์–ด ์„ฑ๋Šฅ๋ฉด์—์„œ์˜ ํ–ฅ์ƒ๋„ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค ! ๊ณตํ†ต๋œ ์ฃผ์ œ์— ๋Œ€ํ•ด์„œ ์ด๋ฏธ ์ •ํ•ด๋†“์€ ์ž…๋ ฅ ๊ฐ’๋งŒ ์„ ํƒํ•ด์„œ ๋ฐ›๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ ! 1. ์›์‹œ ๊ฐ’์ด ์—†๋Š” ์—ด๊ฑฐํ˜• import UIKit // ํ•™๊ต - ์ดˆ, ์ค‘, ๊ณ  enum School { // case eleme..
Swift ) ๊ธฐ์ดˆ ๋ฌธ๋ฒ• 2์ผ์ฐจ - foreach ๋ฐ˜๋ณต๋ฌธ Swift ๊ธฐ์ดˆ ๋ฌธ๋ฒ• 2์ผ์ฐจ - foreach ๋ฐ˜๋ณต๋ฌธ import UIKit // ์ฝœ๋ ‰์…˜ : ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„๋‘” ๊ฒƒ // ๋ฐฐ์—ด, ์…‹, ๋”•์…”๋„ˆ๋ฆฌ, ํŠœํ”Œ // ๋ฐฐ์—ด var myArray : [Int] = [0,1,2,3,4,5,6,7,8,9,10] // ๋ฐฐ์—ด์˜ ๊ฐฏ์ˆ˜ ๋งŒํผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. for item in myArray { print("item: \(item)") } for item in myArray where item > 5 { print("5๋ณด๋‹ค ํฐ์ˆ˜: \(item)") } for item in myArray where item % 2 == 0 { print("์ง์ˆ˜: \(item)") } for item in myArray where item % 2 != 0 { print("ํ™€์ˆ˜: \(item)") } ์กฐ๊ฑด..
Swift ) ๊ธฐ์ดˆ ๋ฌธ๋ฒ• 1์ผ์ฐจ - ์กฐ๊ฑด๋ฌธ ์ž‘๋…„ 10์›” ๋ถ€ํ„ฐ iOS ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ, ์ด์ œ์„œ์•ผ ๊ธฐ์ดˆ๋ฌธ๋ฒ• ์‹œ์ž‘ํ•˜๋Š”.. ๋ฌผ๋ก  ์กฐ๊ธˆ์”ฉ ๊ณต๋ถ€ํ•˜๊ธด ํ–ˆ์ง€๋งŒ ์•„์ง ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฐœ๋…์ด ๋งŽ์€ ๊ฒƒ ๊ฐ™๋‹ค ! ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ์ธํ”„๋Ÿฐ์—์„œ ๊ฐœ๋ฐœํ•˜๋Š” ์ •๋Œ€๋ฆฌ๋‹˜์˜ ๋ฌด๋ฃŒ ๊ฐ•์˜๋ฅผ ๋ฐœ๊ฒฌ :) ๋„ˆ๋ฌด ์ž˜ ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ณ  ๊ฐ•์˜๋„ ๊ธธ์ง€ ์•Š์•„์„œ ๊ฐ€๋ณ๊ฒŒ ํ•œ๊ฐœ์”ฉ ๋“ค์–ด๋ณด๋ ค๊ณ  ์‹œ์ž‘ํ–ˆ๋‹ค. ์•„์ขŒ์ขŒ ์œ ํŠœ๋ธŒ๋กœ ๊ฐ€๋” ๋ดค์—ˆ๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ์ธํ”„๋Ÿฐ์— ์ •๋ฆฌํ•ด์„œ ๋ฌด๋ฃŒ๋กœ ์˜ฌ๋ ค์ฃผ์‹œ๋ฉด.. ๊ฐ์‚ฌํ•  ๋”ฐ๋ฆ„.. ๊ทธ๋ฆฌ๊ณ  ์—ฐ์žฌ์‹์œผ๋กœ ๊ณ„์† ๊ฐ•์˜๋ฅผ ์˜ฌ๋ฆฌ์‹ค ์˜ˆ์ •์ด์‹  ๊ฒƒ ๊ฐ™๋‹ค ! ๋‹ค์Œ ์„น์…˜ ๋ณด๋‹ˆ combine ์ด๋ž‘ concurrency ์ค€๋น„์ค‘์ด์‹ ๊ฑฐ ๊ฐ™๋‹ค ใ…Žใ…Ž ๊ณต๋ถ€ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ๋‚˜์˜ค๋ฉด ๊ผญ ๋“ค์–ด์•ผ์ง€ .. [๋ฌด๋ฃŒ] ๊ฐœ๋ฐœํ•˜๋Š” ์ •๋Œ€๋ฆฌ ์Šค์œ„ํ”„ํŠธ ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜ “์ด ์ •๋„๋Š” ์•Œ๊ฒ ์ง€” ํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋Š” ๊ฐ•์˜๋Š” ๊ทธ๋งŒ! ์ดˆ๋“ฑํ•™์ƒ๋„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•์˜๋ฅผ ํ†ตํ•ด..

๋ฐ˜์‘ํ˜•