iflet 2

Swift ๋ฌธ๋ฒ• : Optional

nil ์Šค์œ„ํ”„ํŠธ ํŠน์„ฑ์ƒ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ์„ ๊ต‰์žฅํžˆ ์‹ซ์–ดํ•˜๋ฏ€๋กœ nil(๊ฐ’์ด ์—†๋‹ค)์„ ๋ฐ˜ํ™˜ํ•˜๋ฉด์„œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ์„ ์•Œ๋ ค์ค€๋‹ค. java์˜ NULL๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋กœ ๋ณด๋ฉด ๋œ๋‹ค. Optional nil๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ํƒ€์ž…์ด ์˜ต์…”๋„์ด๋‹ค. Int, String, Float ํƒ€์ž…๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์˜ต์…”๋„ Int, ์˜ต์…”๋„ String, ์˜ต์…”๋„ Float ์ฒ˜๋Ÿผ ์˜ต์…”๋„ ํƒ€์ž…์ด๋‹ค. Optional ํƒ€์ž…์˜ ๋ฐ˜ํ™˜๊ฐ’ - Optional("Hi") - nil ๋‘˜ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. Optional unwrapping ์˜ต์…”๋„ ํƒ€์ž…์€ ์˜ต์…”๋„์„ ์–ธ๋ž˜ํ•‘ํ•ด์ค˜์•ผ ์ผ๋ฐ˜ํƒ€์ž…์˜ ๊ฐ’์ด ๋œ๋‹ค. ์˜ต์…”๋„ ํƒ€์ž…์€ ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ์–ธ๋ž˜ํ•‘์„ ํ•ด์ค˜์•ผํ•œ๋‹ค. 1. ์˜ต์…”๋„ ๊ฐ•์ œ ํ•ด์ œ(๋ช…์‹œ์  ํ•ด์ œ) var OpInt: Int? = 10 print(OpI..

Swift ๋ฌธ๋ฒ• : ๋‹ค์šด์บ์ŠคํŒ…, it let, guard let

๋‹ค์šด์บ์ŠคํŒ… ๋ถ€๋ชจ ํด๋ž˜์Šค์—์„œ ์ž์‹ ํด๋ž˜์Šค๋กœ ํ˜•๋ณ€ํ™˜ ํ•˜๋Š” ๊ฒƒ. ์‰ฝ๊ฒŒ ๋งํ•ด ์ž์‹ํด๋ž˜์Šค์˜ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์†Œ๋“œ์— ์ ‘๊ทผํ•˜๊ณ ์ž ๋‹ค์šด์บ์ŠคํŒ…์„ ์“ด๋‹ค. as? : ๊ฐ•์ œ ํƒ€์ž… ๋ณ€ํ™˜ ์‹œ๋„, ์„ฑ๊ณตํ•˜๋ฉด Optional๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ ์‹คํŒจ์‹œ์—๋Š” nil๋ฐ˜ํ™˜ as! : ๊ฐ•์ œ ํƒ€์ž… ๋ณ€ํ™˜ ์‹œ๋„, ์„ฑ๊ณต์‹œ ์–ธ๋ž˜๋œ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ ์‹คํŒจ์‹œ ์—๋Ÿฌ ๋ฐœ์ƒ if let if let์€ ์˜ต์…”๊ฐ’์„ ์–ธ๋ž˜ํ•‘ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. if ๋ฌธ ์•ˆ์˜ ์กฐ๊ฑด๋ฌธ ๊ฐ’์ด nil์ธ๊ฐ€ ์•„๋‹Œ๊ฐ€๋ฅผ ์ฒดํฌํ•˜๋Š” ๋ฌธ๋ฒ•์œผ๋กœ, nil์ด ์•„๋‹ˆ๋ผ๋ฉด ํ•ด๋‹น ๋ธ”๋Ÿญ์ด ์‹คํ–‰๋œ๋‹ค. ์ง€์—ญ๋ณ€์ˆ˜๋กœ๋งŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. if let ____ = optinal { statement } guard let guard let์€ guard์•ˆ์˜ ์กฐ๊ฑด์ด ์ฐธ์ด ์•„๋‹ˆ๋ฉด else ๋ฌธ์ด ์‹คํ–‰๋œ๋‹ค. ์ „์—ญ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์กฐ๊ฑด์ด true์ด๋ฉด ์ฝ”๋“œ๊ฐ€..