ํ์ค ์์ฝ : ํจ์์ ์คํ์ด ์ข ๋ฃ๋๊ณ ๋์ ์คํ๋๋ ํด๋ก์ .(๋๊ตฐ๊ฐ๋ ํด์ฃผ๊ฒ ์ง..)
๊ทธ๋์. ๋ฐ์ ์์ค์ ์ฑ๊ฒจ๋ดค๋ ์ด๋ฐ๋ ์ค๊ตญ ๋๋ค ์ฒด์ ์ด ๋์ด ๋ฌ์๋๋ค.๊ทธ๋ฆฌ๊ณ ์ค๋๋ง์ ํฌ์คํ ์ ํ๋ฌ ์์ด์..์ง๋ ํฌ์คํ ์ ์ธ๊ธฐ์ ๋ถ๋ด๊ฐ์ ๋๋ฅด์ง ๋ชปใ ใ ๊ณ ์ํดํ๋ ค๊ณ ํ์ผ๋ ๋์์๋ดค์๋๋ค. ์ด์ ์ด๊ทธ๋ก JAJE ํ ๊ฒ์~!~!์ ๊ทธ๋์ ์ค๋์ ๋ค๊ตญ์ด ์ฒ๋ฆฌ๋ฅผ ์ํ Loca
์๋ฐ ๋ฐฉ๋ฒ์ผ๋ก๋ค๊ฐ ์ถฉ์ ํด์ ํค๋ค์์ค์์ ๊ฐ๋ถ์ ์ถ์ ์ด์์๋คใ ๋ค์์ ์์๋ณด์..
: ์ ํ ๊ณต์๋ฌธ์์ ๋ฐ๋ฅด๋ฉด, Dynamic Tpye์ ์ฌ์ฉ์๊ฐ ์ ํธํ๋ ํ ์คํธ ํฌ๊ธฐ๋ฅผ ์ค์ ํ ์ ์๋๋ก ํด์ ์ดํ์๋ํ ์ถ๊ฐ์ ์ธ ์ ์ฐ์ฑ์ ์ ๊ณตํ๋ค๊ณ ์ค๋ช ๋์ด์๋ค. ์๋ ฅ์ด ๋ฎ์ ์ฌ์ฉ์๋ค์ ์ํด์ Dynamic Type์ ์ง์ํ๋ ๊ฒ์ด ์ค์ํ ๋ถ๋ถ์ด ๋ ๊ฒ ๊ฐ๋ค.: ์ ํ์
: ๊ณต์๋ฌธ์๋ฅผ ๋ณด๋ฉด ์ค์ค๋ก ๋ญ๊ฐ๋ฅผ ๋ณํํ ์ ์๋ ๋๋์ธ ๊ฒ ๊ฐ๋ค.์ผ๋จ, Codable์? Decodable๊ณผ Encodable ํ๋กํ ์ฝ์ ์ค์ํ๋ ํ์ ์ด๋ผ๋ ๊ฒ์ ์ ์ ์๋ค. ๊ทธ๋ผ, Decodable & Encodable์ ๋ชจ๋?Decodable : A type t
LLVM front-end debugger ๋๋ฒ๊ฑฐ ๋๊ตฌ๋ค..!@์ฐ๋ฆฌ๊ฐ ์์ฑํ ์ธ์ด๋ฅผ LLVM ํ๋กํ ์ฝ์ ์ค์ํ๋ ๊ณผ์ ์์ ์๊ธฐ๋ ์ด์ฉ๊ตฌ,,์ปดํจํฐ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๋จ๊ณ ์ค์ ๋ฐ์ํ๋ ์ค๋ฅ๋ ๋ฒ๊ทธ๋ฅผ ์ฐพ์๋ด๊ณ ๊ทธ ์์ธ์ ๋ฐํ๊ณ ์์ ํ๋ ์์ ๊ณผ์ ์ธ์ด โ ์ธ์ด๋ก ์ธ์ฝ๋ฉํ๋ ๊ณผ์ ์
: ์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ์์ ์์ค ์ฝ๋์ ํน์ ๋ชจ๋์ด ์๋๋ ๋๋ก ์ ํํ ์๋ํ๋์ง ๊ฒ์ฆํ๋ ์ ์ฐจ. ๋ชจ๋ ํจ์์ ๋ฉ์๋์ ๋ํ test case๋ฅผ ์์ฑํ๋ ์ ์ฐจ๋ฅผ ๋งํ๋ค. ํ ์คํธ๋ฅผ ํ๋ค๋ ๊ฒ์ ์์ ์ฑ์ ๋ณด์ฅํ๋ ๊ฒ! ์ ๋ ํ ์คํธ์ ์ฅ์ ํด๋น ๋ฉ์๋์ ๋ํด ๋ ๋ฆฝ์ ์ผ๋ก ํ ์คํธ๋ฅผ
๋ฌธ์ ํด๊ฒฐ์ ์ํ ์ ์ฐจ/ ๋ฐฉ๋ฒ (์ฌ๋ฌ ๋์๋ค์ ๋ชจ์) ex) ํ ํธ๋ฆฌ์ค์ฒ๋ผ ๋ฌธ์ ๋ฅผ ์์ฐจ์ ์ผ๋ก ํด๊ฒฐํด ๋๊ฐ๋ ๋๋, ์ฌํ๊ฐ๋ฐฉ์ ๊พธ๋ฆด ๋, ํ์ํ ๊ฒ์ ์ด๋ค ์์๋๋ก ๋ฃ์์ง ๊ณ ๋ฏผํ๋ ๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค ๋ํ์ ์๊ณ ๋ฆฌ์ฆ - ์ ๋ ฌ, ํ์, ์ฌ๊ท ๋ฑ (์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ๋น๊ต์์
Protocol โ ๋ฉ์๋, ํ๋กํผํฐ ๊ทธ๋ฆฌ๊ณ ํน์ ์์ ์ด๋ ๊ธฐ๋ฅ์ ๋ถ๋ถ์ด ์ ํฉํ ๋ค๋ฅธ ์๊ตฌ์ฌํญ์ ์ฒญ์ฌ์ง์ ์ ์ํ๋ค. ํ๋กํ ์ฝ์ ์๊ตฌ์ฌํญ์ ๊ตฌํ์ ์ ๊ณตํ๊ธฐ ์ํด ํด๋์ค, ๊ตฌ์กฐ์ฒด ๋๋ ์ด๊ฑฐํ์ ์ํด ์ฑํ๋ ์ ์๋ค. ํ๋กํ ์ฝ์ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋ ๋ชจ๋ ํ์ ์ ํ๋กํ ์ฝ์
๋ญ๊ฐ ํฌ๊ด์ ์ด๊ณ ์ผ๋ฐ์ ์ผ ๊ฒ ๊ฐ์ ๋๋์ ๋๋..generic์ Swift์ ๊ฐ๋ ฅํ ๋๊ตฌ์ค ํ๋! Swift ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ถ๋ถ์ Generic์ผ๋ก ์์ฑ๋์ด์๊ณ , Array์ Dictionary๋ Generic ์ปฌ๋ ์ ์ด๋ค.์ฌ๊ธฐ์ T๋ผ๋ ๊ฒ์ Placehorlder
TDD๋ Test Driven Development์ ์ฝ์๋กย ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ด๋ค. ๋ฐ๋ณต ํ ์คํธ๋ฅผ ์ด์ฉํ ์ํํธ์จ์ด ๋ฐฉ๋ฒ๋ก ์ผ๋ก, ์์ ๋จ์์ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ํต๊ณผํ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํ์ฌ ๊ตฌํํ๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ง๋ Kent Beck์ TDD๊ฐ
๋ฑ๋ก๋ Notification์ NotificationCenter๋ฅผ ํตํด ์ ๋ณด๋ฅผ ์ ๋ฌํ๊ธฐ ์ํ ๊ตฌ์กฐ์ฒด์ฃผ์ ํ๋กํผํฐ๋ก๋ name, object, userInfo๊ฐ ์๋ค.userInfo์๋ ํ์ํ ๋ฐ์ดํฐ๋ฅผ dictionary ํ์์ผ๋ก ๋ณด๋ด์ค ์ ์๋๋ฐ, ์๋์๊ฐ์ด ์ด๊ฑฐํ์
Interface Builder@๋ ์ปดํ์ผ๋ฌ์๊ฒ ์ด๋ค ์์ฑ์ ๊ฐ์ง๊ณ ์๋ค๊ณ ์ ํ๋ ์ญํ ์ ํ๋ ์์ฝ์ด์ปดํ์ผ๋ฌ์๊ฒ @๊ฐ ๋ถ์ ๋ช ๋ น์ด์ ๋ํด ์ด๋ค attribute๊ฐ ๋ถ์ฌ๋์์์ ๋งํ๋ค.@IBAction โ Interface Builder์ ์ฐ๊ฒฐ๋ Action์ด ์๋ค.@UI
: ๊ด๋ จ์๋ ๊ฒ๋ค๋ผ๋ฆฌ ๋ชจ์๋์ ๊ณต๊ฐ?case๊ฐ ์๋ ์ด๊ฑฐํ์ ์ธ์คํด์คํ ๋์ง ์๊ณ ๋ค์์คํ์ด์ค ์ญํ ์ ํ๋ค. ํ์ ํ๋กํผํฐ ์ฌ์ฉ!case๊ฐ ์๋ ์ด๊ฑฐํ์ ์ฌ์ฉํ ๋ ์ฅ์ ์, ๋ปํ์ง ์์ ์ด๊ธฐํ๋ฅผ ๋ง์ ์ ์๊ณ namespace์ ์ญํ ๋ง ํ๋ค๋ ๊ฒ์ด๋ค.์ด๊ฑฐํ์ด๋ ๊ตฌ์กฐ์ฒด๋ฅผ
ํ๋กํผํฐ๋ย ๊ฐ์ ํน์ ํด๋์ค(class), ๊ตฌ์กฐ์ฒด(struct), ์ด๊ฑฐํ(enum)๊ณผ ์ฐ๊ฒฐํ๋ค.Swift์ PropertiesStored Property(์ ์ฅ ํ๋กํผํฐ)Computed Property(์ฐ์ฐ ํ๋กํผํฐ)Type Property(ํ์ ํ๋กํผํฐ)์ ์ฅ ํ๋กํผํฐ๋
๊ตฌ์กฐ์ฒด์ ํด๋์ค์ ๊ณตํต์ ๊ฐ์ ์ ์ฅํ ํ๋กํผํฐ๋ฅผ ์ ์ํ ์ ์๋ค.๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋ฉ์๋๋ฅผ ์ ์ํ ์ ์๋ค.subscripts ๋ฌธ๋ฒ์ ํตํด ํ๋กํผํฐ์ ์ ๊ทผํ๋๋ก subscripts๋ฅผ ์ ์ํ ์ ์๋ค.์ด๊ธฐํ ์ํ๋ฅผ ์ค์ ํ๊ธฐ ์ํ ์ด๋์ ๋ผ์ด์ ๋ฅผ ์ ์ํ ์ ์๋ค.๊ธฐ๋ณธ ๊ตฌํ ์ด์