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

iOS/TIL

22.07.12 ใ…ฃ์—ด๊ฑฐํ˜• & ํ•จ์ˆ˜์™€ ๋ฐ˜ํ™˜๊ฐ’ & Raw String


์—ด๊ฑฐํ˜•

์—ด๊ฑฐํ˜•์ด๋ž€ ์‰ฝ๊ฒŒ ๋งํ•ด, ๋ฌธ์ž์—ด๊ณผ ์ •์ˆ˜๊ฐ’ ๋“ฑ ์ž…๋ ฅ๋ฐ›์•„์•ผ ํ•  ์ •๋ณด๋ฅผ ์ง์ ‘ ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ  ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ์—ด๊ฑฐํ˜•์˜ ํŠน์ง• ์ค‘ ๊ธฐ์–ตํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€, ์—ด๊ฑฐํ˜•์€ ๋ฐฐ์—ด๊ณผ ์ง‘ํ•ฉ์ฒ˜๋Ÿผ ์ •๋ณด์˜ ์‚ญ์ œ๋‚˜ ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ตฌ๋ฌธ ์ž์ฒด๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๋Š” ์ด์ƒ, ์Šค์ฝ”ํ”„ ๋ฐ–์—์„œ ์ผ€์ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.



์ด์ฒ˜๋Ÿผ ์—ด๊ฑฐํ˜•์€ Switch ๊ตฌ๋ฌธ๊ณผ ํ•จ๊ป˜ ์“ฐ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์“ฐ์ž„์ƒˆ๋Š” if-else ๊ตฌ๋ฌธ๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ์ข€ ๋” ์‰ฝ๊ณ  ์ง๊ด€์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Switch ๊ตฌ๋ฉด์—์„œ ์—ด๊ฑฐํ˜• ๊ฐ’์„ ๋งค์นญํ•  ๋•Œ์—๋Š” ๋ฐ˜๋“œ์‹œ ์—ด๊ฑฐํ˜•์˜ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜๋ผ๋„ ๋น ์ ธ์žˆ๋‹ค๋ฉด, ์ปดํŒŒ์ผ์ด ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์—ด๊ฑฐํ˜•์˜ ๋ชจ๋“  ๊ฐ’์„ ํฌํ•จํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋ฉด, default๋กœ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผ๋งŒ ํ•ฉ๋‹ˆ๋‹ค.



* ์›์‹œ๊ฐ’ (Raw Value)


์ด์ฒ˜๋Ÿผ ๊ฐ๊ฐ์˜ case ์— raw vlue ๋ฅผ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. raw ๊ฐ’์€ ์—ด๊ฑฐํ˜• ์„ ์–ธ์—์„œ ์œ ์ผํ•œ ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต๋˜์–ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.

ํ•จ์ˆ˜์™€ ๋ฐ˜ํ™˜๊ฐ’


1) ๋ฐ˜ํ™˜ ํƒ€์ž…์ด ์žˆ๋Š” ํ•จ์ˆ˜

-> ๋ฅผ ์ด์šฉํ•ด ๋ฐ˜ํ™˜ํƒ€์ž…์„ ์ง€์ •ํ•œ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.


2) ๋ฐ˜ํ™˜ํƒ€์ž…์ด ์—†๋Š” ํ•จ์ˆ˜

์‹ค์ œ๋กœ๋Š” -> Void ๋ผ๊ณ  ์ ํ˜€์žˆ๋Š” ๋ถ€๋ถ„์„ ์ƒ๋žตํ•˜์ง€๋งŒ, ์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด ๋ฐ˜ํ™˜ํƒ€์ž…์ด ์žˆ๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. Void ๋ž€ () ๋ฅผ ์‚ฌ์šฉํ•œ ๋นˆ ํŠœํ”Œ์ž…๋‹ˆ๋‹ค.

Raw Strings

var onlineService = "Zoom"
var answer = #"์•ˆ๋…•ํ•˜์„ธ์š”.\#n์˜ค๋Š˜ ์ˆ˜์—…์€ "\#(onlineService)"์—์„œ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค."#
var greeting2 = #"์•ˆ๋…•ํ•˜์„ธ์š”. \#n์˜ค๋Š˜ ์ˆ˜์—…์€ "Zoom"์—์„œ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค."#

Raw Strings ๋Š” ๋ฌธ์ž์—ด ์•ˆ์— " ๋‚˜ \ ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, \๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Swift5๋ถ€ํ„ฐ ์ง€์›๋˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. Raw Strings ์•ˆ์—์„œ๋Š” ๋ชจ๋“  ๊ฒฝ๊ณ„๋ฌธ์ž์™€ ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž๊ฐ€ ํŠน์ˆ˜ ์—ญํ• ์„ ํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๊ธฐ ๋•Œ๋ฌธ์— # ~ # ์•ˆ์—์„œ ์ค„๋ฐ”๊ฟˆ์„ ํ•ด์ฃผ๋Š” ๋ฌธ์ž๋ฅผ ๋„ฃ๊ธฐ ์œ„ํ•ด์„  \#n ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ณ  ๋ณ€์ˆ˜๋ช… ์•ž์—๋Š” \# ๋ฅผ ๋ถ™์—ฌ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.