๋ชฉ๋กLanguage (13)

suvera-dev ๐Ÿฅฆ

Swift ) ๊ธฐ์ดˆ ๋ฌธ๋ฒ• 5์ผ์ฐจ - UnWrap ์˜ต์…”๋„ ๋ณ€์ˆ˜

๐ŸŒ€ Optional ์ด๋ž€ ? - ํƒ€์ž…์— ๊ฐ’์ด ์žˆ์„์ˆ˜๋„ ์—†์„์ˆ˜๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ณ  ํƒ€์ž…๋’ค์— ?๋ฅผ ๋ถ™์—ฌ์„œ Optional ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ๋ณ€์ˆ˜์˜ ๊ฐ’์ด nil ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ Optional ๋ณ€์ˆ˜๋“ค์€ ๊ฐ’์ด Optional("—-") ํ˜•์‹์œผ๋กœ ํ‘œ์‹œ๋˜๊ธฐ ๋•Œ๋ฌธ์— value ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์—๋Š” unwrapping์„ ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. unwrapํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋จผ์ € Force unwrapping์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ’ ๋’ค์— !๋ฅผ ๋ถ™์ด๋ฉด ๋˜๋Š”๋ฐ ์ด๋•Œ value๊ฐ€ nil์ธ ๊ฒฝ์šฐ์— force unwrapping์„ ์‹œ๋„ํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๐ŸŒ€ Optional ์„ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ? Optinal ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์€ Optional Binding ๊ณผ Optinal Chaini..

Language/Swift 2022. 2. 7. 06:20
Swift ) ๊ธฐ์ดˆ ๋ฌธ๋ฒ• 3์ผ์ฐจ - Enum

Swift ๊ธฐ์ดˆ๋ฌธ๋ฒ• 3์ผ์ฐจ Enum ์‹ค์ œ ๊ฐ•์˜์—์„œ๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์‹œ์ง€๋งŒ, ํ‰์†Œ์— ์ •๋ฆฌํ•ด๋‘๊ณ  ์‹ถ์—ˆ๋˜ ๋‚ด์šฉ๋“ค์„ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค ! ๐Ÿœ Enum ์ด๋ž€ ? ๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด ์ƒ์ˆ˜ ์—ญํ• ์„ ํ•˜๋Š” ๊ฐ’๋“ค์„ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ๋‚˜์—ดํ•ด๋†“๋Š” ๊ฒƒ + ๊ฐ™์€ ์ฃผ์ œ๋กœ ์—ฐ๊ด€๋œ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฉค๋ฒ„๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๋‚˜ํƒ€๋‚ด๋Š” ์ž๋ฃŒํ˜• โ›ฑ ์—ด๊ฑฐํ˜•์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ? ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•ด์ง€๊ณ , ์ฝ”๋“œ ๊ฐ€๋…์„ฑ๋„ ์ข‹์•„์ง€๊ณ , ์‹ค์ˆ˜๋ฅผ ์ค„์—ฌ์ค€๋‹ค ! ๋˜ํ•œ Heap์— ์ €์žฅ๋˜๋Š” String๊ณผ ๋‹ฌ๋ฆฌ, Enum์€ ๊ฐ’ ํ˜•์‹์œผ๋กœ Stack์— ์ €์žฅ๋˜์–ด ์„ฑ๋Šฅ๋ฉด์—์„œ์˜ ํ–ฅ์ƒ๋„ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค ! ๊ณตํ†ต๋œ ์ฃผ์ œ์— ๋Œ€ํ•ด์„œ ์ด๋ฏธ ์ •ํ•ด๋†“์€ ์ž…๋ ฅ ๊ฐ’๋งŒ ์„ ํƒํ•ด์„œ ๋ฐ›๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ ! 1. ์›์‹œ ๊ฐ’์ด ์—†๋Š” ์—ด๊ฑฐํ˜• import UIKit // ํ•™๊ต - ์ดˆ, ์ค‘, ๊ณ  enum School { // case eleme..

Language/Swift 2022. 2. 4. 03:01