Raw String
Raw String์ escape ๋ฌธ์์ ๋ถํธํจ์ ํด๊ฒฐํ๊ธฐ ์ํด Swift5๋ถํฐ ์ง์ํ๋ ๋ฌธ์์ด ๋ฆฌํฐ๋ด ๊ตฌ๋ถ ๊ธฐํธ์ ๋๋ค.
escape ๋ฌธ์๋ ์ ์ฉํ๊ณ ํ์์ ์ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง, escape ์ํ์ค๊ฐ ํฌํจ๋ ๋ฌธ์์ด์ ๊ฐ๋ ์ฑ์ด ์ข์ง ์์ต๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ค๋ฅธ ์ธ์ด์์๋ “raw”, ์ฆ ์์ ๊ทธ๋๋ก์ ๋ฌธ์์ด ๋ฆฌํฐ๋ด ๊ตฌ๋ฌธ์ ๋์ฒด์ ๋ก ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ผ์ raw string ๋ฆฌํฐ๋ด์ escape ์์ด ๋ฐฑ์ฌ๋์(\)์ ๋๋ธ ์ฟผํฐ(”)๋ฅผ ํตํฉํ์ฌ “raw”ํ ํ ์คํธ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํฉ๋๋ค.
Raw String ์ง์ ๋ฐฐ๊ฒฝ
Swift online forum์์๋ escape ๋ฌธ์์ ๋จ์ ๊ณผ raw string์ ์ฅ์ ์ ์ด์ ๋ก Swift์์๋ raw string์ ์ ๊ณตํ๋ ๊ฒ์ ์ ์ํ์ต๋๋ค. ๋๋ถ์ด Swift๋ simpleํ๊ณ cleanํ ๊ฒ์ ํน์ง์ผ๋ก ๊ฐ๊ธฐ ๋๋ฌธ์, ๋จ์ผ ๋ฌธ์ฅ๊ณผ ๋ค์ค ๋ฌธ์ฅ ๋ชจ๋ ๋ด์ฉ ์๊ด์์ด ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ด ์ง์๋๋ ์๋ก์ด ๋ฌธ์์ด ๋ฆฌํฐ๋ด ๋์์ธ์ด ์ ๊ณต๋์ด์ผ ํ๋ค๊ณ ๋ณด์์ต๋๋ค. ์ด๋ฌํ ์ด์ ๋ก Swift 5๋ถํฐ raw string๋ฅผ ์ง์ํ๊ฒ ๋์์ต๋๋ค.
์ฌ๋ฌ ์ธ์ด์์ raw string์ ์ฌ์ฉํ๊ณ ์์ง๋ง, Swift์ raw string์ Swift์ ์ ํฉํ Rust์ ๊ตฌ๋ฌธ์ ์ฐจ์ฉํ์ฌ ๋ง๋ค์ด์ก์ต๋๋ค. ๋ํด์ ์กฐ๊ธ ๋ swiftyํ๊ฒ ๋ง๋ค๊ธฐ ์ํด # ๋ง ์ฌ์ฉํ๋ ๋ฐฉ์์ผ๋ก ๊ฒฐ์ ๋์์ต๋๋ค.
Syntax | Language | Possibile in Swift | Swifty? |
r#"Hello, world!"# | Rust | O | Would need to drop the opening r and maybe change the delimiter from #. |
Swift์ raw string ์ฌ์ฉ ์์
var content = "Hello, playground"
var escapeVersion = "She said, \\"Hello, playground\\"."
var rawstringVersion1 = #"She said, "HEllo, Playground"."# // ์๋ค๋ก #
var rawstringVersion2 = ###"She said, "HEllo, Playground"."### // ๊ฐ์ ์๊ด x
var rawstringVersion3 = #"She said, "\\#(content)"."# // ๋ฌธ์์ด ๋ณด๊ฐ๋ฒ์๋ # ์ฌ์ฉ
print(escapeVersion)
print(rawstringVersion1)
print(rawstringVersion2)
print(rawstringVersion3)
/*
๋์ผํ๊ฒ ์ถ๋ ฅ๋จ
She said, "Hello, playground".
She said, "HEllo, Playground".
She said, "HEllo, Playground".
She said, "Hello, playground".
*/
'iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ iOS ] UICollectionViewCell์์ ImageView ์ด๊ธฐํ ์์ ๊ณผ awakeFromNib() (0) | 2025.01.08 |
---|---|
[ iOS ] AppDelegate SceneDelegate (0) | 2025.01.02 |
[ iOS ] Entry Point (initial view controller) (0) | 2024.12.25 |
[ iOS ] CompositionLayout ๋ฐฉํฅ ์ดํดํ๊ธฐ (0) | 2024.06.27 |
[ iOS ] ๋ฐ์ดํฐ ์ ๋ฌด์ ๋ฐ๋ผ CollectionView UI ๋ณ๊ฒฝํ๊ธฐ with DiffableDataSource, Snapshot (1) | 2024.06.17 |