์:
์ธ๋ฏธ์ฝ๋ก ์ด ์์ผ๋ฉด xcode๋ Swift ์ฝ๋์ ๋ฌธ๋ฒ์ ๋ก๋/์ธ๋ฑ์ฑ/๋ถ์ํ๋ ๋ฐ ๋๋ฌด ๋ง์ CPU๋ฅผ ๋ญ๋นํ๊ฒ ๋ฉ๋๋ค.
์ด๋ก ์ธํด Xcode๊ฐ ์ถฉ๋/๋ฌด์๋ต์ ๋ ์์ฃผ ๋ฐ์์ํต๋๋ค.
๋ฐ๋ผ์ ์ธ๋ฏธ์ฝ๋ก ์ด ์๋ ๊ฒ์ Swift์์ ์ฝ๋ฉํ๊ธฐ์ ์ข์ ์ ํ์ด ์๋๋๋ค.
์ค๊ตญ์ธ:
์ธ๋ฏธ์ฝ๋ก ์ด ์์ผ๋ฉด Xcode๋ ๋ก๋, ์ธ๋ฑ์ฑ ๋ฐ Swift ์ฝ๋ ๋ฐ ๊ตฌ๋ฌธ ๋ถ์์ ์ฒ๋ฆฌํ๋ ๋ฐ ๋ ๋ง์ CPU ๋ฆฌ์์ค๋ฅผ ์๋นํฉ๋๋ค.๊ฒฐ๊ณผ ๋ฌธ์ ๋ Xcode๊ฐ ๋ ์์ฃผ ์ถฉ๋/์๋ตํ์ง ์๋๋ค๋ ๊ฒ์
๋๋ค.
๋ฐ๋ผ์ Swift์์ ์ธ๋ฏธ์ฝ๋ก ์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ ์ข์ ์ ํ์ด ์๋๋๋ค.
๋:
์ ์๊ฐ Swift๋ก ๊ฐ๋ฐํ๋ ๋์ ์ธ๋ฏธ์ฝ๋ก ์ ์ฌ์ฉํ์ง ์์์ ๋ Xcode๊ฐ ํ๋ฃจ ํ๊ท 10๋ฒ ์ด์ ํฌ๋์๋ฅผ ์ผ์ผ์ผ ๊ฐ๋ฐ ํจ์จ์ฑ์ ํฐ ์ํฅ์ ๋ฏธ์ณค์ต๋๋ค.
์ธ๋ฏธ์ฝ๋ก ์์ด Swift๋ฅผ ์ฝ๋ฉํ ๋ xcode ์ถฉ๋ ๋๋ ๋ฌด์๋ต์ด ๋งค์ผ 10๋ฒ ์ด์ ๋ฐ์ํฉ๋๋ค.
์ด๋ฅผ ์ฆ๋ช ํ๋ ์์ค ๋๋ ๋ฒค์น๋งํฌ?
๋ ๋์ Swift ์ปค๋ฎค๋ํฐ(๊ฑฐ์ ์ธ๊ธฐ ์๋ Swift ์คํ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐธ์กฐ)๋ ์ธ๋ฏธ์ฝ๋ก ์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
๋ํ Apple์ C ์คํ์ผ for ๋ฃจํ, ++ ์ฐ์ฐ์ ๋ฑ์ ์ ๊ฑฐํ๋ ๊ฒ๊ณผ ๊ฐ์ C ์คํ์ผ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์์ ์๋์ ์ผ๋ก ๋ฒ์ด๋ฌ์ต๋๋ค.
์ธ์ด์ ํฅํ ๋ฒ์ ์์ ์ธ๋ฏธ์ฝ๋ก ๋ ์ ๊ฑฐ๋๋๋ผ๋ ๋๋ผ์ง ์์ ๊ฒ์ ๋๋ค.
์ด๋ฌํ ์ด์ ๋ก ์ปดํ์ผ ์ ์ฝ๊ฐ์ ์ฑ๋ฅ ์ด์ ์ด ์๋๋ผ๋ ๊ฐ์ธ์ ์ผ๋ก ์ด ๋ณ๊ฒฝ์ ๋ํด ๊ฐ๋ ฅํ ๋ฐ๋ํฉ๋๋ค.
let obj = NSObject()
// Type `if` here, you can not find the `if` statement in the completion suggestions list.
// But if add a semicolon to the previous line or write a blank line between the previous line, the `if` statement completion suggestion will be in the list.
์ด ๊ฐ๋จํ ์๋ xcode๊ฐ ๋ฌธ๋ฒ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด CPU๋ฅผ ๋ญ๋นํ ์ ์์ง๋ง ๊ฒฐ๊ณผ๊ฐ ์๋ชป๋์์์ ์๋ฏธํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋๋ ๋๋ถ๋ถ์ xcode ์ถฉ๋์ด ๋ฌธ์ฅ์ ํธ์งํ ํ ๋ฌธ๋ฒ์ ์ฌ๊ตฌ์ถํ ๋ ๋ํ๋๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค.
๋์ ์ด ๋ฒ๊ทธ๋ฅผ Apple์ ์ ๋ฌํ๊ฒ ์ต๋๋ค. ๊ณต๋ฃก์ด ์ง๊ตฌ๋ฅผ ๋ฐฐํํ ์ดํ๋ก(Objective-C ์ผ) ์ธ๋ฏธ์ฝ๋ก ์ ์ฌ์ฉํ์ง ์์๊ณ ์ค๋ช ํ๋ ๋ฌธ์ ๋ฅผ ์ธ์ํ์ง ๋ชปํฉ๋๋ค.
์ฐ๋ฆฌ๋ ๋ฒค์น๋งํฌ๊ฐ ํ์ํ๊ณ ์ด ๋ฒ๊ทธ๋ฅผ Apple์ ์ ๊ธฐํด์ผ ํฉ๋๋ค(์ต๋ํ ๋นจ๋ฆฌ ์ฒ๋ฆฌํ๊ณ RDAR #๋ฅผ ๊ฒ์ํฉ๋๋ค. ์์์). ๊ทธ๋ฌ๋ ์ฌ์ค์ด๊ณ Apple์ด ์ด์ ์ ์์ ํ์ง ์์๊ฑฐ๋ ํ ์ ์๋ ๊ฒฝ์ฐ Swift 5 ๋๋ 6์ด ๋ค์์ผ๋ก ๋๋์๊ฐ์ง ์์ ์ธ๋ฏธ์ฝ๋ก ์ ๋ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ์ ์ ๋ฌธ ํ์์์ ๊ฑฐ์ ์ค๋ช ํ ์ ์๋ ์์ฐ์ฑ ์์ค์ด๋ผ๊ธฐ๋ณด๋ค๋ ์ํํธ์จ์ด ์ด๊ด์ ํ์์ผ ๊ฒ์ ๋๋ค.
์ฌ๋ ค์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ฝ๋ ์์ฑ ๋ฌธ์ ๋ฅผ https://bugs.swift.org/browse/SR-6454 ๋ก ๋ณด๊ณ ํ์ต๋๋ค.
Swift 4.1์์ ์์ ๋ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. Apple์ ๋ชจ๋ Swift๋ก ์์ฑ๋ ์์ ํ ์๋ก์ด ๋๊ตฌ ํ๋ ์์ํฌ libSyntax๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ ธ๋ ฅ์ ์ฃผ๋ํ๊ณ ์์ต๋๋ค! ๋ํ ์คํ ์์ค์ด๋ฏ๋ก ์ฐธ์ฌํ ์ ์์ต๋๋ค.
์๋์์ฑ์ด ๋ฌด๋์ง๋ ๋ค๋ฅธ ๊ตฌ์ฒด์ ์ธ ์ฌ๋ก๊ฐ ์๋ค๋ฉด ๋ค์ด๋ณด์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
๋๊ตฌ ๋ฌธ์ ๋ ์ ์ณ๋๊ณ ์ธ๋ฏธ์ฝ๋ก ๊ณผ ์ถ๊ฐ ๊ตฌ๋์ ์ ์ธ์ง ๋ถํ๋ฅผ ์ถ๊ฐํ๊ณ ์๊ตฌ ์ฌํญ์ผ๋ก ์ ๊ฑฐ์ ๋ํ ์๋ ๋๊ธฐ์ธ ๋ช ํ์ฑ์ ์ํด ์๋ฌด ๊ฒ๋ ํ์ง ์์ต๋๋ค. WWDC 2014 ํ ํฌ์ Advanced Swift์์ Dave Abrahams์ ์ธ๋ฏธ์ฝ๋ก ์ถ๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
Swift ์ปค๋ฎค๋ํฐ์ ํฐ ๋ณํ๊ฐ ์๋ ํ ์ธ๋ฏธ์ฝ๋ก ์ ๋์์ค์ง ์์ต๋๋ค. ๊ทธ๋ฐ ์ด์ ๋ก ์ด ๋ฌธ์ ๋ฅผ ๋ซ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฐ๋์ ๋ฐ๊ฒฌํ ๋ฒ๊ทธ๋ฅผ ๋ณด๊ณ ํ์ญ์์ค. ์ ์ฒด ์ปค๋ฎค๋ํฐ๊ฐ ์์ผ๋ก ๋์๊ฐ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค! ๐