macro
-
Expand on Swift macros (feat. WWDC 2023)Swift 2023. 6. 10. 09:37
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift 5.9์์ ์๊ฐ๋ ๋งคํฌ๋ก ๊ธฐ๋ฅ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ Why macros? ์ฐ์ ๋งคํฌ๋ก๋ฅผ ์ ๋ง๋ค์๋์ง ๊ทธ ์ ํ์ ์๊ธฐ๋ฅผ ๋ค์ด๋ณผ๊น์? Swift๋ ํํ์ ์ธ ์ฝ๋์ API๋ฅผ ์์ฑํ๋๊ฒ์ ๋ฅํฉ๋๋ค. ๊ทธ๋ ๊ธฐ์ ์ฌ์ฉ์๊ฐ ๋ฐ๋ณต์ ์ธ ์์ฉ๊ตฌ ์์ฑ์ ํผํ๋๋ฐ ๋์์ด ๋๋ result builders์ ๊ฐ์ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๊ณค ํ์ฃ . ์ฆ ์ด๋ ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด Codable์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์ ํํ ์ ํ์ ์์ด Codable์ ์ฌ์ฉํ ์ ์๊ณ Codable ์ง์์ ์ถ๊ฐํ๋๊ฒ์ด ์ฝ๋๋ฅผ ๋๋ฆฌ๋ฉด์๊น์ง ์์ฑํ ๊ฐ์น๊ฐ ์๋์ง ํ๋จํ๊ณ ๊ฒฐ์ ํ ํ์๊ฐ ์๊ฒ ๋ฉ๋๋ค. ์ฌ๊ธฐ๊น์ง๋ Swift ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ฉด์ ํ๋กํผํฐ ๋ํผ๋ผ๋์ง Result builders๋ผ๋์ง ๋ฑ ๋ง์ด ์ ํด๋ดค๋ ๊ธฐ..
-
Swift 5.9 ์ฌ์ฉ ๋ง๋ณด๊ธฐ (feat. WWDC 2023)Swift 2023. 6. 9. 15:41
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift 5.9๊ฐ ์๊ฐ๋๋ฉด์ ์๋ก ๋์จ๊ฒ๋ค์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค๐๐ป ์ ์ฒด์ ์ผ๋ก Swift ๊ฐ๋ฐ ํ๋ก์ ํธ ๋ฐฉ์์ ์ ๋ฐ์ดํธ๋ถํฐ ์ธ์ด์ ์ผ๋ก ๋งคํฌ๋ก ๊ธฐ๋ฅ๋ ์ด๋ฒ์ ์๊ฒผ๊ณ ์ฑ๋ฅ ๋ฐ ์์ ๋๋ ๋ง์ด ํฅ์๋์๋ค๊ณ ํด์. ์ ๋ ์ด๋ฒ ํฌ์คํ ์์๋ ์ค์ ์ ์ผ๋ก Swift ์ธ์ด์๋ง ํฌ์ปค์ฑ์ ๋ง์ถฐ ํ๋ฒ ๋ณผ๊นํฉ๋๋ค. if ๋ฐ switch ํํ ๋ณ์๋ฅผ ์ด๊ธฐํ ํ ๋ ์ด์ ๋ ์๋์ ๊ฐ์ด if ๋ฐ switch ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฆ, ์ฝ๋๋ฅผ ์ค์ด๋๋ฐ ๋ง์ ๋์์ ์ค๋๋ค๐ // if let score = 800 let simpleResult = if score > 500 { "Pass" } else { "Fail" } print(simpleResult) // switch let comp..