Swift 5.9
-
New access modifier - packageSwift 2024. 3. 4. 19:08
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift 5.9์์ ์๋ก ๋์จ ์ ๊ทผ ์ ์ด์์ธ package์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๋์จ ๋ฐฐ๊ฒฝ ์๋ ๊ธฐ์กด์ ์ ๊ทผ์ ์ด์๋ผ๊ณ ํ๋ฉด ํํ ์๊ณ ์๋ 5๊ฐ์ง๊ฐ ์์ฃ ! open, public, internal, fileprivate, private ๋ง์ฝ ์ฌ๋ฌ๋ถ๋ค์ด ๋ชจ๋ํ๋ฅผ ์ํค๊ณ ๋ค๋ฅธ ๋ชจ๋ ํจํค์ง์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํ ๋, ๋๋ถ๋ถ public์ผ๋ก ์์ ํ์๊ฒ๋๋ค. ์ ๋ ๋ฌผ๋ก ๊ทธ๋ ๊ตฌ์..! ์ฌ๊ธฐ์ public์ผ๋ก ์์ ํ๊ฒ๋๋ฉด, ํจํค์ง ๋ด๋ถ์ ์ธ๋ถ ๋ชจ๋์์ ์ ๊ทผํ ์ ์๊ฒ ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ๋ ํธ๋ฆฌํ๊ธด ํ์ง๋ง, ๋ฐ๋์งํ์ง ์์๋๋ ์์ต๋๋ค ๐ฅฒ ํจํค์ง ์ธ๋ถ์ ์ฝ๋๋ฅผ ๊ณต์ ํ์ง ์๊ณ ํจํค์ง ๋ด์ ๋ชจ๋ ๊ฐ์ ์ฝ๋๋ฅผ ๊ณต์ ํ์ฌ์ผ ํ๋ ๊ฒฝ์ฐ๋ ์์ผ๋๊น ๋ง์ด์ฃ ! ๊ทธ๋ ๊ธฐ์, ์ด..
-
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..