Swift5.0 Character Properties (๋„์–ด์“ฐ๊ธฐ, ๊ณต๋ฐฑ, ์ˆซ์ž, ์†Œ๋ฌธ์ž ๋“ฑ๋“ฑ.. ํ™•์ธ ๊ฐ€๋Šฅํ•ด์š”) SE-0221

Swift5.0 Character Properties (๋„์–ด์“ฐ๊ธฐ, ๊ณต๋ฐฑ, ์ˆซ์ž, ์†Œ๋ฌธ์ž ๋“ฑ๋“ฑ.. ํ™•์ธ ๊ฐ€๋Šฅํ•ด์š”) SE-0221

์•ˆ๋…•ํ•˜์„ธ์š” Swif5.0 Character ํƒ€์ž…์— ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ Properties์„ ์†Œ๊ฐœํ•ด ๋“œ๋ฆฌ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค~!! ์–ด๋–ค๊ฒƒ๋“ค์ด ์ถ”๊ฐ€ ๋˜์—ˆ๋Š”๋ฐ ํ•จ๊ป˜ ๋ณด์‹œ์ฃ ~! ๊ทธ ์ „์— Character ํƒ€์ž…์ด ๋ฌด์—‡์ธ์ง€ ์งง๊ฒŒ ์†Œ๊ฐœ ํ•ด๋“œ๋ฆฌ๋ ค๊ณ  ํ•˜๋Š”๋ฐ์š”~! ๋ง ๊ทธ๋Œ€๋กœ '๋ฌธ์ž'๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์–ด๋‚˜ ๋ฌธ์žฅ์ฒ˜๋Ÿผ ๋ฌธ์ž์˜ ์ง‘ํ•ฉ(์˜ˆ: dog)์ด ์•„๋‹ˆ๋ผ ๋‹จ ํ•˜๋‚˜์˜ ๋ฌธ์ž(์˜ˆ: d)๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค ์œ ๋‹ˆ์ฝ”๋“œ์—์„œ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ์–ธ์–ด, ํŠน์ˆ˜๋ฌธ์ž ๋“ฑ์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ Properties ์ž…๋‹ˆ๋‹ค. .isASCII ASCII ๋ฌธ์ž๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. let aCharacter = Character("A") let piCharacter = Character("ฯ€") aCharacter.isASCII // true piCharacter...

  • textsms
Swift 5.0 ์œ ๋‹ˆ์ฝ”๋“œ ์Šค์นผ๋ผ ํ”„๋กœํผํ‹ฐ ์ถ”๊ฐ€ (Unicode Scalar Properties) SE-0211

Swift 5.0 ์œ ๋‹ˆ์ฝ”๋“œ ์Šค์นผ๋ผ ํ”„๋กœํผํ‹ฐ ์ถ”๊ฐ€ (Unicode Scalar Properties) SE-0211

์•ˆ๋…•ํ•˜์„ธ์š”~! Swift 5.0์—์„œ Unicode Scalar์— properties๊ฐ€ ์ถ”๊ฐ€ ๋˜์—ˆ๋Š”๋ฐ์š” ์–ด๋–ค ํŠน์ง•๋“ค์ด ์žˆ๋Š”์ง€ ํ•จ๊ป˜๋ณด์‹œ์ฃ ~! ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ ์œ ๋‹ˆ์ฝ”๋“œ ์Šค์นผ๋ผ ์˜๋ฏธ ์ž ๊น ๋ณด๊ณ  ๊ฐ€์‹œ์ฃ ~! ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์— ๋ฐฐ๋‹น๋œ ์ˆซ์ž๋ฅผ ์˜๋ฏธ ํ•ฉ๋‹ˆ๋‹ค "U+" + 16์ง„์ˆ˜ ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ ๋˜์–ด์žˆ๊ตฌ์š” U+0000๋ถ€ํ„ฐ U+D7FF๊นŒ์ง€, U+E000๋ถ€ํ„ฐ U+10FFFF๊นŒ์ง€์˜ ๊ฐ’์ด ์žˆ์Šต๋‹ˆ๋‹ค 1. ์œ ๋‹ˆ์ฝ”๋“œ ์†์„ฑ ๊ฒ€์‚ฌ Bool ๊ฐ’ ์ถ”๊ฐ€ scalar properties ์—์„œ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ Bool ๊ฐ’์„ ์ด์šฉํ•ด์„œ ์–ด๋–ค ๋ฌธ์ž๊ฐ€ ํฌํ•จ ๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. isMath, isUppercase, isASCIIHexDigit... let question = "Which is larger, 3 * 3 * 3 or 10 + 10 + 1..

  • textsms
Raw String(๋ฌธ์ž์—ด)์„ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•˜์ž # ... # ("\" ๋ฌธ์ž ์ง€์˜ฅ์—์„œ ๋ฒ—์–ด๋‚˜๊ธฐ) SE-0200

Raw String(๋ฌธ์ž์—ด)์„ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•˜์ž # ... # ("\" ๋ฌธ์ž ์ง€์˜ฅ์—์„œ ๋ฒ—์–ด๋‚˜๊ธฐ) SE-0200

Swif 5.7 ๊นŒ์ง€ ์—…๋ฐ์ดํŠธ ๋œ ์ƒํ™ฉ์—์„œ ๋’ค๋Šฆ๊ฒŒ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Swif5.0 ~ 5.7๊นŒ์ง€ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ์š”. ์ •๋ฆฌ + ํ™œ์šฉ๊นŒ์ง€ ์ „๋‹ฌ๋“œ๋ฆฌ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. (๊ฐœ์ธ์ ์ธ ๊ณต๋ถ€ ๋ฐ ์ •๋ฆฌ) ๊ทธ๋Ÿผ ์‹œ์ž‘ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. #"..."# ๋ฅผ ์ถ”๊ฐ€ํ•œ Raw String ์„ ์ง€์›. ๋ณดํ†ต "๊ณผ ๊ฐ™์€ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด \์„ ํ•จ๊ป˜ ๋„ฃ์–ด์„œ ํ‘œํ˜„ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด์   # ... # ์‚ฌ์ด์— ๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•˜๊ฒŒ ๋˜๋ฉด \๋ฅผ ํ•„์ˆ˜์ ์œผ๋กœ ๋„ฃ์„ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค. let before = "before \"You\"" let after = #"after "You""# ์•„๋ž˜์™€ ๊ฐ™์€ ์ •๊ทœ์‹๋„ ๋งˆ์ฐฌ๊ฐ€์ง€ ์ž…๋‹ˆ๋‹ค. let before = "\\\\[A-Z]+[A-Za-z]+\\.[a-z]+" let after = #"\\[A-Z]+[A-Za-z]..

  • textsms
Swift Enum์˜ ํ™œ์šฉ (๊ตฌ์กฐ์ฒด ๋˜๋Š” ํด๋ž˜์Šค ๋Œ€์‹  ์—ด๊ฑฐํ˜•์œผ๋กœ ์ •๋ฆฌํ•ด๋ด์š”)

Swift Enum์˜ ํ™œ์šฉ (๊ตฌ์กฐ์ฒด ๋˜๋Š” ํด๋ž˜์Šค ๋Œ€์‹  ์—ด๊ฑฐํ˜•์œผ๋กœ ์ •๋ฆฌํ•ด๋ด์š”)

Enum์€ ํŠน์ •ํ•œ ์ด๋ฆ„์„ ์ •์˜ํ•˜๊ณ  ๊ฐ’ ๋Œ€์‹ ์— ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. Enum Coffee { case Macchiato case Espresso } Enum์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋Š”๋ฐ์š”. ๊ทธ ์ค‘์— ์‹ค์ „์—์„œ ํ™œ์šฉํ•˜๋ฉด ์ข‹์€ ๋ช‡๊ฐ€์ง€๋ฅผ ๋‚˜๋ˆ„์–ด์„œ ์†Œ๊ฐœํ•ด ๋“œ๋ฆฌ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์กฐ์ฒด ๋˜๋Š” ํด๋ž˜์Šค ๋Œ€์‹  ์—ด๊ฑฐํ˜•์œผ๋กœ ์˜ˆ๋ฅผ ๋“ค์–ด ์ฑ„ํŒ… ์•ฑ์„ ๋งŒ๋“œ๋Š” ์ƒํ™ฉ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ๊ตฌ์กฐ์ฒด๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. struct Message { let userId: String let contents: String? let date: Date let hasJoined: Bool let hasLeft: Bool let isBeingDrafted: Bool let isSendingBall..

  • textsms