iOS ์ฑ ์์ตํ๋ฅผ ์ํ ์์, ์ค์ํํธ ๋ฌธ๋ฒ ๋ง์คํฐ [์ด๊ธ, ์ค๊ธ, ๊ณ ๊ธ]
iOS ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ Swift๋ฅผ ๋ฐฐ์ธ ๋, ์ฌ๋ฌ ๊ฐ๋ ์ด ํ๊บผ๋ฒ์ ๋ฑ์ฅํ๋ฉด ํผ๋์ค๋ฌ์ธ ์ ์์ต๋๋ค. ๊ทธ๋์ ์ ๋ โ์๋ก์ด ๊ฐ๋ ์ ์ดํดํ ๋๋ ์ด๋ฏธ ๋ฐฐ์ด ๊ฐ๋ ๋ง ์ฌ์ฉ๋์ด์ผ ํ๋ค.โ๋ ์์น์ผ๋ก ๊ฐ์๋ฅผ ๋ง๋ค์์ต๋๋ค. ๊ทธ๋์ ์ด ๊ฐ์๋, ๋จ๊ณ๋ง๋ค ๋จ ํ๋์ ์๋ก์ด ๊ฐ๋ ๋ง ๋ฑ์ฅํ๊ณ , ๊ทธ ์ธ์ ๋ฏ์ ๊ฐ๋ ์ ์ ๋ ๋ฑ์ฅํ์ง ์๋๋ก ๊ฐ๋ ๊ฐ ์์ฐจ ๊ตฌ์กฐ๋ฅผ ์ ๊ตํ๊ฒ ์ค๊ณํ์ต๋๋ค. ๊ฐ๋ ํ๋์ 1๋ถ, ์ด 180๊ฐ. ๊ธฐ์ด์ธ ๋ณ์์ ์์๋ถํฐ CS ๊ด์ ์์ ์ดํดํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ, ๊ทธ๋ฆฌ๊ณ ๋น๋๊ธฐ ์ฒ๋ฆฌ์ ์ต์ ๋ฌธ๋ฒ๊น์ง. 3์๊ฐ ๋์, 180๊ฐ์ ํต์ฌ ๊ฐ๋ ์ ์ค๊ณ๋ ์์๋๋ก ํ์ตํฉ๋๋ค.
์๊ฐ์ 36๋ช
๋์ด๋ ์ค๊ธ์ด์
์๊ฐ๊ธฐํ 5๊ฐ์
์๋ ํ์ธ์, ์๊ฐ์ ์ฌ๋ฌ๋ถ.
๋๋์ด ์ค์ํํธ ๋ฌธ๋ฒ ๋ง์คํฐ ๊ฐ์ ์ดฌ์์ ๋ชจ๋ ๋ง์น๊ณ , ์ด๊ธ ยท ์ค๊ธ ยท ๊ณ ๊ธ ๊ณผ์ ์ ํ๋๋ก ํตํฉํ ์์ฑ๋ณธ ๊ฐ์๋ฅผ ๋ฐ์นญํ์ต๋๋ค! ๐์ ๋ชฉ: iOS ์ฑ ๊ฐ๋ฐ์ ์ทจ์ ์ ์ํ ์์, Swift ๋ฌธ๋ฒ ๋ง์คํฐ
๊ฐ์ ์: ์ด 182๊ฐ์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์ฅ์๊ตฌ์ ๋๋ค.
์ด๋ฒ ๊ฐ์๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์ ๋ง๋ ๋ต๊ฒ ๋์ด ์ ๋ง ๋ฐ๊ฐ์ต๋๋ค.์ค์ํํธ๋ฅผ ๋ฐฐ์ฐ๋ค ๋ณด๋ฉด ํ๊บผ๋ฒ์ ๋ง์ ๊ฐ๋ ์ด ๋ฑ์ฅํด ํท๊ฐ๋ฆฌ๊ธฐ ์ฝ์ต๋๋ค. ๊ทธ๋์ ์ด ๊ฐ์๋ ๋จ๊ณ๋ง๋ค ๋จ ํ๋์ ๊ฐ๋ ๋ง ์จ์ ํ ์ดํดํ ์ ์๋๋ก ์ค๊ณํ์ต๋๋ค. ์๋ก์ด ๊ฐ๋ ์ ๋ฐฐ์ธ ๋๋ ์ด๋ฏธ ํ์ตํ ๊ฐ๋ ๋ง ํ์ฉํ๋๋ก ์์๋ฅผ ์ ๊ตํ๊ฒ ๊ตฌ์ฑํ๊ธฐ ๋๋ฌธ์, ํ์ต ํ๋ฆ์ด ๋๊ธฐ์ง ์๊ณ ์์ฐ์ค๋ฝ๊ฒ ์ด์ด์ง ์ ์์ต๋๋ค.
๋ํ ๋ชจ๋ ๊ฐ์๋ ์งง๊ณ ๋ฐ๋ ์๊ฒ ๊ตฌ์ฑํ์ต๋๋ค. ๊ฐ๋ ํ๋๋น ์ฝ 1๋ถ, ์ด 182๊ฐ์ ๊ฐ์๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๋ณ์์ ์์ ๊ฐ์ ๊ธฐ์ด ๋ฌธ๋ฒ๋ถํฐ ARC์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ๊ฐ์ ๊น๋ค๋ก์ด ์ฃผ์ ๊น์ง ๋น ์ง์์ด ๋ค๋ฃน๋๋ค. ๋ถํ์ํ ํ์ดํ ์๊ฐ์ ๊ณผ๊ฐํ ์ ์ธํด, ํ์ต ํจ์จ์ ์ต๋ํํ์ต๋๋ค. ํ๋ฉด์ ๋ฉ์ถ๊ณ ์ง์ ๋ฐ๋ผ ์น๋ฉฐ ํ์ตํ ์ ์๋๋ก ๊ตฌ์ฑ๋์ด ์์ด, ๋จ์๊ฐ์ ๊น์ด ์๋ ์ดํด๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
๊ฐ์์ ํจ๊ป ์ ๊ณต๋๋ ์ฑ ๊ต์ฌ๋ ํฐ ์ฅ์ ์ ๋๋ค. ์ฑ์คํ ์ด์์ ์ค์ํํธ ๋ฌธ๋ฒ ๋ง์คํฐ๋ฅผ ๊ฒ์ํ๋ฉด ๋ชจ๋ ์๋ฌธ๊ณผ ํด์ค์ ์ง์ ํ์ดํํ๋ฉฐ ํ์ตํ ์ ์์ต๋๋ค. ๋ ธํธ๊ฐ ์์ด๋ ์ธ์ ๋ ๋ณต์ตํ ์ ์์ผ๋ฉฐ, ๊ฐ์๊ฐ ๋๋ ๋ค์๋ ๋ฌธ๋ฒ์ ๋น ๋ฅด๊ฒ ์ฐพ์๋ณด๋ ๋ ๋ ํ ๋๊ตฌ๊ฐ ๋ ๊ฒ์ ๋๋ค.
์ด๋ฒ ๊ฐ์๋ ๊ธฐ์ด๋ถํฐ ๊ณ ๊ธ ๋ฌธ๋ฒ๊น์ง ์์ฑ๋ ์๊ฒ ํ์ตํ ์ ์๋ ์ ์ผํ ์ปค๋ฆฌํ๋ผ์ผ๋ก, iOS ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ๊ณ ์ ํ๋ ์ฌ๋ฌ๋ถ์ ์ฌ์ ์ ํฐ ๋์์ด ๋๋ฆฌ๋ผ ํ์ ํฉ๋๋ค.
๐ ์ปค๋ฆฌํ๋ผ ์ ์ฒด ์๋ด
CHAPTER 1. ๊ฐ์ ์๊ฐ (๊ฐ์ 2๊ฐ)
๊ฐ์ ์๊ฐ - ์์ ์๋ฃ ์ฐธ๊ณ
Xcode ์ค์น ๋ฐฉ๋ฒ - ์์ ์๋ฃ ์ฐธ๊ณ
CHAPTER 2. ๊ธฐ๋ณธ ๋ฌธ๋ฒ๊ณผ ๋ฐ์ดํฐ ํ์ (๊ฐ์ 9๊ฐ)
ํ ๋น ์ฐ์ฐ์
์ฃผ์
๋ณ์์ ์์
ํ์ ์ฃผ์๊ณผ ์ถ๋ก
์ซ์ ๋ฐ์ดํฐ ํ์
๋ฌธ์์ ๋ฌธ์์ด ํ์
๋ถ๋ฆฌ์ธ ํ์
ํ์ ์์ ์ฑ๊ณผ ๋ณํ
ํ์ ์ ์ผ๋ฆฌ์ด์ค
CHAPTER 3. ์ฐ์ฐ์ (๊ฐ์ 6๊ฐ)
๋จํญ ์ฐ์ฐ์
์ดํญ ์ฐ์ฐ์
๋ณตํฉ ํ ๋น ์ฐ์ฐ์
๋น๊ต ์ฐ์ฐ์
๋ ผ๋ฆฌ ์ฐ์ฐ์
์ ๊ทผ ์ฐ์ฐ์ ํ์ฉ
CHAPTER 4. ์กฐ๊ฑด๋ฌธ๊ณผ ํ๋ฆ ์ ์ด (๊ฐ์ 6๊ฐ)
์กฐ๊ฑด๋ฌธ (if ๋ฌธ)
switch ์กฐ๊ฑด๋ฌธ ๊ธฐ๋ณธ
switch์์ break ์ฌ์ฉ
switch์์ ๋ฒ์ ์ฌ์ฉ
switch ๋ฌธ์์ fallthrough
์ผํญ ์ฐ์ฐ์
CHAPTER 5. ํํ (๊ฐ์ 3๊ฐ)
ํํ ๊ธฐ๋ณธ
๋ค์๋ ํํ
ํํ ๋ถํด
CHAPTER 6. ๋ฐ๋ณต๋ฌธ๊ณผ ํ๋ฆ ์ ์ด (๊ฐ์ 10๊ฐ)
for๋ฌธ๊ณผ ํ์ ๋ฒ์ ์ฐ์ฐ์
๋ฐํ์ ๋ฒ์ ์ฐ์ฐ์
๋จ์ถ ๋ฒ์ ์ฐ์ฐ์
ํจํด ๋งค์นญ ์ฐ์ฐ์
for ๋ฌธ ๋ณ์ ์ฌํ ๋น
์์ผ๋์นด๋ ํจํด
while ๋ฐ๋ณต๋ฌธ
repeat-while ๋ฐ๋ณต๋ฌธ
continue๋ก ๋ค์ ๋ฐ๋ณต์ผ๋ก ์ด๋
break๋ก ๋ฐ๋ณต๋ฌธ ์ข ๋ฃ
CHAPTER 7. ํจ์์ ์ค์ฝํ (๊ฐ์ 16๊ฐ)
ํจ์ ์ ์์ ํธ์ถ
ํ๋ผ๋ฏธํฐ๊ฐ ์๋ ํจ์
์๊ท๋จผํธ ๋ ์ด๋ธ๊ณผ ์์ผ๋ ์นด๋
๋ฐํ๊ฐ์ด ์๋ ํจ์
ํจ์์์์ ํํ ๋ฐํ
Void ํ์ ํจ์
๊ฐ๋ณ ํ๋ผ๋ฏธํฐ
๊ธฐ๋ณธ๊ฐ์ด ์๋ ํ๋ผ๋ฏธํฐ
ํ๋ผ๋ฏธํฐ์ ๋ถ๋ณ์ฑ๊ณผ ์ค์ฝํ
์กฐ๊ธฐ ๋ฐํ
์ค์ฒฉ ํจ์
ํจ์ ์ฐธ์กฐ ํ๊ธฐ๋ฒ
ํจ์ ์ค๋ฒ๋ก๋ฉ
์ค์ฝํ
inout ํ๋ผ๋ฏธํฐ
์ฌ๊ท ํจ์
CHAPTER 8. ์ต์ ๋ (๊ฐ์ 10๊ฐ)
์ต์ ๋ ํ์ ๊ธฐ๋ณธ
Optional<T> ๋ฌธ๋ฒ
์ต์ ๋ ๊ฐ ํ ๋น๊ณผ ์ถ๋ ฅ
๊ฐ์ ์ถ์ถ
์ต์ ๋ ์ฐ์ฐ ์ ํ
์ต์ ๋ ๋ฐ์ธ๋ฉ (if let)
์ต์ ๋ ๋ฐ์ธ๋ฉ (guard let)
nil ๋ณํฉ ์ฐ์ฐ์
์ต์ ๋ ๋ถ๊ธฐ ์ฒ๋ฆฌ
์ต์ ๋ ์ฒด์ด๋
CHAPTER 9. ๋ฐฐ์ด (Array) (๊ฐ์ 16๊ฐ)
๋ฐฐ์ด ์ ์ธ ๋ฐ ํ์ ํ๊ธฐ
๋น ๋ฐฐ์ด ์์ฑ
๋ฐฐ์ด ๊ธฐ๋ณธ ๊ธฐ๋ฅ
์์ ์์ ๊ตํ
์ธ๋ฑ์ค๋ก ์์ ์ ๊ทผ ๋ฐ ์์
first์ last ํ๋กํผํฐ
๋ฐฐ์ด ์ธ๋ฑ์ค ์กฐํ
๋ฐฐ์ด ์์ ์ฝ์
์์ ๊ต์ฒด ๋ฐ ๋ฒ์ ๊ต์ฒด
์์ ์ญ์ ์ ๋น์ฐ๊ธฐ
๋ฐฐ์ด ์ ๋ ฌ
๋ฐฐ์ด ์ญ์
๋ฐฐ์ด ์ ํ
๋ฐฐ์ด ๋น๊ต
์ด์ฐจ์ ๋ฐฐ์ด ์ ๊ทผ
Copy-On-Write ์ต์ ํ
CHAPTER 10. ๋์ ๋๋ฆฌ (Dictionary) (๊ฐ์ 13๊ฐ)
๋์ ๋๋ฆฌ ์ ์ธ ๋ฐ ์ถ๋ ฅ
ํ์ ํ๊ธฐ์ ๋น ๋์ ๋๋ฆฌ
๊ฐ ์กฐํ ๋ฐ ์ถ๊ฐ
๊ฐ ์ ๊ฑฐ
์ค์ฒฉ๋ ์ปฌ๋ ์
๋์ ๋๋ฆฌ ๊ธฐ๋ณธ ์ ๋ณด ์กฐํ
๋๋ค ์์ ์ถ์ถ
ํค์ ๊ฐ ์กฐํ
๊ฐ ์ ๋ฐ์ดํธ
์์ ์ญ์
์ ์ฒด ์ญ์
์ ์ฒด ์ญ์ (์ฉ๋ ์ ์ง)
๋์ ๋๋ฆฌ ๋ฐ๋ณต๋ฌธ ์ฌ์ฉ
CHAPTER 11. ์งํฉ (Set) (๊ฐ์ 9๊ฐ)
Set ์ ์ธ ๋ฐ ๋น Set ์์ฑ
Set ๊ธฐ๋ณธ ๊ธฐ๋ฅ
Set ์์ ์ถ๊ฐ ๋ฐ ์ญ์
Set ๊ด๊ณ ๊ฒ์ฌ
Set ์ ๋ ฌํ์ฌ ๋ฐฐ์ด๋ก ๋ณํ
Set ํฉ์งํฉ
Set ๊ต์งํฉ
Set ์ฐจ์งํฉ
Set ๋์นญ์ฐจ์งํฉ
CHAPTER 12. ๋ฌธ์์ด ํ์ฉ (๊ฐ์ 3๊ฐ)
์ฌ๋ฌ์ค ๋ฌธ์์ด
์ ๋์ด์ ์ ๋ฏธ์ด
์๋ธ์คํธ๋ง
CHAPTER 13. ์ด๊ฑฐํ (Enum) (๊ฐ์ 5๊ฐ)
์ด๊ฑฐํ ๊ธฐ๋ณธ ์ ์์ ์ฌ์ฉ
์์๊ฐ ์ด๊ฑฐํ๊ณผ ์ด๊ธฐํ
์ฐ๊ด๊ฐ์ด ์๋ ์ด๊ฑฐํ
switch๋ก ์ด๊ฑฐํ ์ํ์ ๊ฐ ์ฒ๋ฆฌ
์ด๊ฑฐํ ํ์ฅ ๋๋น @unknown default
CHAPTER 14. ํด๋์ค์ ๊ตฌ์กฐ์ฒด ๊ธฐ๋ณธ (๊ฐ์ 13๊ฐ)
ํด๋์ค ์ ์์ ์ธ์คํด์ค
๊ตฌ์กฐ์ฒด ์ ์์ ์ธ์คํด์ค
์ฐธ์กฐ ํ์ vs ๊ฐ ํ์
์ด๋์ ๋ผ์ด์ ์ self
ํด๋์ค ์์
final ํด๋์ค
๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋ฉ
super ํธ์ถ
ํธ์ ์ด๋์ ๋ผ์ด์
์ด๋์ ๋ผ์ด์ ์์ ๊ท์น
ํ์ ์ด๋์ ๋ผ์ด์
์คํจ ๊ฐ๋ฅ ์ด๋์ ๋ผ์ด์
๋์ด๋์ ๋ผ์ด์
CHAPTER 15. ์์ฑ๊ณผ ๋ฉ์๋ (๊ฐ์ 14๊ฐ)
์ง์ฐ ์ ์ฅ ์์ฑ
๊ณ์ฐ ์์ฑ (get/set ๋งค๊ฐ๋ณ์)
๊ณ์ฐ ์์ฑ (newValue ์ฌ์ฉ)
์ฝ๊ธฐ ์ ์ฉ ๊ณ์ฐ ์์ฑ
ํ์ ์์ฑ
ํ์ ์์ฑ ์์
์์ฑ ๊ฐ์์
mutating ๋ฉ์๋
ํ์ ๋ฉ์๋
์๋ธ์คํฌ๋ฆฝํธ
ํ์ ์๋ธ์คํฌ๋ฆฝํธ
์ ๊ทผ ์ ์ด (private)
์ ๊ทผ ์์ค
์ฑ๊ธํค ํจํด
CHAPTER 16. ์ค์ฒฉ ํ์ (๊ฐ์ 1๊ฐ)
์ค์ฒฉ ํ์
CHAPTER 17. ARC (๊ฐ์ 1๊ฐ)
์๋ ์ฐธ์กฐ ์นด์ดํ ARC
CHAPTER 18. ํ์ ๊ฒ์ฌ์ ๋ณํ (๊ฐ์ 7๊ฐ)
ํ์ ๊ฒ์ฌ (is ์ฐ์ฐ์)
๋์ ๋์คํจ์น
๋ค์ด ์บ์คํ (as? as!)
์ ์บ์คํ (as)
Any ํ์
AnyObject ํ์
์ต์ ๋์ Any๋ก ๋ณํ
CHAPTER 19. ์ต์คํ ์ (Extension) (๊ฐ์ 6๊ฐ)
์ต์คํ ์
์ต์คํ ์ ๊ณ์ฐ ํ๋กํผํฐ
์ต์คํ ์ ํธ์ ์ด๋์ ๋ผ์ด์
์ต์คํ ์ ํ์ ๊ณ์ฐ ์์ฑ
์ต์คํ ์ ์๋ธ์คํฌ๋ฆฝํธ
์ต์คํ ์ ์ค์ฒฉ ํ์
CHAPTER 20. ํ๋กํ ์ฝ (Protocol) (๊ฐ์ 11๊ฐ)
ํ๋กํ ์ฝ ์ ์ ๋ฐ ์ฑํ
ํ๋กํ ์ฝ ์์ฑ ์๊ตฌ์ฌํญ
ํ๋กํ ์ฝ ๋ฉ์๋ ์๊ตฌ์ฌํญ
ํ๋กํ ์ฝ ์ด๋์ ๋ผ์ด์ ์๊ตฌ์ฌํญ
ํ๋กํ ์ฝ ์๋ธ์คํฌ๋ฆฝํธ ์๊ตฌ์ฌํญ
์ต์คํ ์ ์ผ๋ก ํ๋กํ ์ฝ ์ฑํ
ํ๋กํ ์ฝ ๋ค์ค ์์
ํด๋์ค ์ ์ฉ ํ๋กํ ์ฝ
ํ๋กํ ์ฝ ํฉ์ฑ
ํ๋กํ ์ฝ ์ต์ ๋ ์๊ตฌ์ฌํญ
ํ๋กํ ์ฝ ์ต์คํ ์ ๊ธฐ๋ณธ ๊ตฌํ
CHAPTER 21. ํด๋ก์ (๊ฐ์ 4๊ฐ)
ํด๋ก์
ํด๋ก์ ์บก์ฒ
ํธ๋ ์ผ๋ง ํด๋ก์
escaping ํด๋ก์
CHAPTER 22. ๊ณ ์ฐจ ํจ์ (๊ฐ์ 6๊ฐ)
map ํจ์
filter ํจ์
reduce ํจ์
forEach ํจ์
compactMap ํจ์
flatMap ํจ์
CHAPTER 23. ์๋ฌ ์ฒ๋ฆฌ (๊ฐ์ 4๊ฐ)
enum๊ณผ Error ํ๋กํ ์ฝ
throws ํจ์์ throw
do-catch๋ก ์๋ฌ ์ฒ๋ฆฌ
Result ํ์ ์ผ๋ก ์ค๋ฅ ์ฒ๋ฆฌํ๊ธฐ
CHAPTER 24. defer ๋ฌธ (๊ฐ์ 1๊ฐ)
defer ๋ฌธ
CHAPTER 25. ๋น๋๊ธฐ ์ฒ๋ฆฌ (๊ฐ์ 3๊ฐ)
async/await ๋น๋๊ธฐ ์ฒ๋ฆฌ
DispatchQueue ๋น๋๊ธฐ ์ฒ๋ฆฌ
@MainActor
CHAPTER 26. ์ ๋ค๋ฆญ (๊ฐ์ 3๊ฐ)
์ ๋ค๋ฆญ ํจ์
์ ๋ค๋ฆญ ํ์ ์ ์ฝ
ํ๋กํ ์ฝ ์ฐ๊ด ํ์






