/100DaysOfSwift

๐ŸŒฑ 100์ผ๊ฐ„์˜ Swift

Primary LanguageSwift

100DaysOfSwift

๐ŸŒฑ 100์ผ๊ฐ„์˜ Swift / Supported By Hacking with swift

๐Ÿ˜ 100์ผ์ฐจ๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๋งค์ผ๋งค์ผ ๊พธ์ค€ํžˆ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ทœ์น™

  1. ๋งค์ผ 1์‹œ๊ฐ„ ์ •๋„ ์Šค์œ„ํ”„ํŠธ ํŠœํ† ๋ฆฌ์–ผ์„ ์ฝ๊ฑฐ๋‚˜ ๋ณด๊ธฐ, ๋˜๋Š” ์Šค์œ„ํ”„ํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๊ฒƒ
  2. ๋งค์ผ ๋‚˜์˜ ์ง„ํ–‰ ์ƒํ™ฉ์— ๋Œ€ํ•ด์„œ SNS์— ํฌ์ŠคํŒ…ํ•  ๊ฒƒ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋งํ•ด๋ผ

โ–ถ๏ธŽ ์ €๋Š” ๊นƒํ—ˆ๋ธŒ + ๋ธ”๋กœ๊ทธ์— ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•  ์˜ˆ์ •์ด๊ณ 
โ–ถ๏ธŽ SNS ๊ฒฝ์šฐ์—๋Š” ์Šคํ† ๋ฆฌ์—๋งŒ 100DaysOfSwift์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋ฌถ์–ด์„œ ๊ฒŒ์‹œํ•  ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ๋ฏธ์ •

์ค‘์š”ํ•œ ๊ฒƒ์€ ๋งค์ผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๊ณ , ์ ˆ๋Œ€ ๋ถ„๋Ÿ‰์„ ์ดˆ๊ณผํ•ด์„œ ๊ณต๋ถ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. only 1์ผ์น˜ ๋ถ„๋Ÿ‰


์ง„ํ–‰์ƒํ™ฉ

Days 1-12 + 13-15: Introduction of Swift

๊ตฌ๋ถ„ ์ฃผ์ œ ๋งํฌ ์ง„ํ–‰์ƒํ™ฉ ์ฝ”๋ฉ˜ํŠธ
๐Ÿค” Day 1 Variables
StringsยทIntegers
Multi-line strings
DoublesยทBooleans
String interpolation
Constants
Type annotations
day1.md โœ…
๐Ÿ˜ Day 2 ๋ฐฐ์—ด
์ง‘ํ•ฉ
ํŠœํ”Œ
๋”•์…”๋„ˆ๋ฆฌ(+๊ธฐ๋ณธ๊ฐ’)
๋นˆ ์ปฌ๋ ‰์…˜
์—ด๊ฑฐํ˜•(enum)
์—ด๊ฑฐํ˜• ์›์‹œ๊ฐ’/์—ฐ๊ด€๊ฐ’
day2.md โœ… enum์— ๋Œ€ํ•ด์„œ ๋” ๊ณต๋ถ€ํ•˜๊ธฐ
๐Ÿ˜… Day 3 ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž
์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ
๋ณตํ•ฉ ํ• ๋‹น ์—ฐ์‚ฐ์ž
๋น„๊ต ์—ฐ์‚ฐ์ž
์กฐ๊ฑด๋ฌธ
์กฐ๊ฑด๋ฌธ ๊ฒฐํ•ฉ
์‚ผํ•ญ ์—ฐ์‚ฐ์ž
switch๋ฌธ
๋ฒ”์œ„ ์—ฐ์‚ฐ์ž
day3.md โœ… -
๐Ÿ˜ฒ Day 4 for ๋ฃจํ”„
while ๋ฃจํ”„
repeat ๋ฃจํ”„
break ํ‚ค์›Œ๋“œ
์ค‘์ฒฉ ๋ฃจํ”„ ํƒˆ์ถœ
continue ํ‚ค์›Œ๋“œ
๋ฌดํ•œ ๋ฃจํ”„
day4.md โœ… ์•„์ง๊นŒ์ง€๋Š” ๋ฌด๋‚œ
๐Ÿค“ Day 5 ํ•จ์ˆ˜ ์ž‘์„ฑ
๋งค๊ฐœ๋ณ€์ˆ˜
๋ฐ˜ํ™˜๊ฐ’
๋งค๊ฐœ๋ณ€์ˆ˜ ๋ ˆ์ด๋ธ”
๋งค๊ฐœ๋ณ€์ˆ˜ ๋ ˆ์ด๋ธ” ์—ฌ๋Ÿฌ๊ฐœ
๋งค๊ฐœ๋ณ€์ˆ˜ ๋ ˆ์ด๋ธ” ์ƒ๋žต
default ๋งค๊ฐœ๋ณ€์ˆ˜
inout ๋งค๊ฐœ๋ณ€์ˆ˜
์˜ค๋ฅ˜์ฒ˜๋ฆฌ
day5.md โœ… ์˜ค๋ฅ˜์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋‹ค!
๐Ÿคญ Day 6 ํด๋กœ์ € ๊ธฐ๋ณธ ์ž‘์„ฑ
ํด๋กœ์ € ๋งค๊ฐœ๋ณ€์ˆ˜
ํด๋กœ์ € ๋ฐ˜ํ™˜๊ฐ’
ํด๋กœ์ €๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๊ธฐ
ํ›„ํ–‰ ํด๋กœ์ €
day6.md โœ… ์†”์งํžˆ ํด๋กœ์ € ์ž˜ ์•ˆ ์™€๋‹ฟ์ง€๋งŒ, ๋ฐ˜๋ณตํ•ด์„œ ๋ณด์ž~
๐Ÿ˜ Day 7 ๋งค๊ฐœ๋ณ€์ˆ˜ ์žˆ๋Š” ํด๋กœ์ € ๋„˜๊ธฐ๊ธฐ
๋ฐ˜ํ™˜๊ฐ’ ์žˆ๋Š” ํด๋กœ์ € ๋„˜๊ธฐ๊ธฐ
์ถ•์•ฝ ์ธ์ž ์ด๋ฆ„
์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์žˆ๋Š” ํด๋กœ์ € ๋„˜๊ธฐ๊ธฐ
ํด๋กœ์ € ๋ฐ˜ํ™˜ํ•˜๊ธฐ
๊ฐ’ ์บก์ฒ˜ํ•˜๊ธฐ
day7.md โœ… ์•„์‹ธ, ์ผ์ฃผ์ผ ์ง€๋‚ฌ๋‹ค~ ํด๋กœ์ €๋„ ์ด์ œ๋Š” ์กฐ๊ธˆ์€ ์•Œ ๊ฒƒ ๊ฐ™๋„ค ใ…Ž
๐Ÿ™‚ Day 8 ๊ตฌ์กฐ์ฒด ์ƒ์„ฑ
ํ”„๋กœํผํ‹ฐ
์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ
๋ฉ”์„œ๋“œ
Mutating ๋ฉ”์„œ๋“œ
๋ฌธ์ž์—ด ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ
๋ฐฐ์—ด์˜ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ
day8.md โœ… ๊ตฌ์กฐ์ฒด์˜ ๊ธฐ๋ณธ์ ์ธ ๋‚ด์šฉ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋‹ค!
๐Ÿ˜ฉ Day 9 ๊ตฌ์กฐ์ฒด ์ด๋‹ˆ์…œ๋ผ์ด์ €
ํ˜„์žฌ ์ธ์Šคํ„ด์Šค ์ฐธ์กฐ(self)
Lazy ํ”„๋กœํผํ‹ฐ
Static ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ
Private(access control)
day9.md โœ… ๊ตฌ์กฐ์ฒด ํŒŒํŠธ(2)
๐Ÿ˜ฉ Day 10 ํด๋ž˜์Šค ์ƒ์„ฑ
ํด๋ž˜์Šค ์ƒ์†
๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ
Final ํด๋ž˜์Šค
๊ฐ์ฒด ๋ณต์‚ฌ
deinit(์†Œ๋ฉธ์ž)
๊ฐ€๋ณ€์„ฑ
day10.md โœ… ์˜ค๋Š˜๋ถ€ํ„ฐ ์‰ฝ์ง€ ์•Š๋‹ค.. ๋‹ค๋ฅธ ํ•  ๊ฒƒ๋“ค์ด ๋„ˆ๋ฌด ๋งŽ๋„ค ใ… ใ… 
๐Ÿ™ƒ Day 11 ํ”„๋กœํ† ์ฝœ
ํ”„๋กœํ† ์ฝœ ์ƒ์†
ํ™•์žฅ
ํ”„๋กœํ† ์ฝœ ํ™•์žฅ
ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
day11.md โœ… ํ•˜ํ•˜ํ•˜..
๐Ÿ™„ Day 12 ์˜ต์…”๋„
์˜ต์…”๋„ ์–ธ๋ž˜ํ•‘
ํƒ€์ž…์บ์ŠคํŒ…
day12.md โœ… ํ•˜ํ•˜ํ•˜..
๐Ÿ™„ Day 13 ์Šค์œ„ํ”„ํŠธ ๋ฌธ๋ฒ• ๋ณต์Šต(1) day13.md โœ… -
๐Ÿฅบ Day 14 ์Šค์œ„ํ”„ํŠธ ๋ฌธ๋ฒ• ๋ณต์Šต(2) day14.md โœ… ํ•˜๋ฃจ ์‰ฌ์—ˆ๋‹ค ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค!
๐Ÿฅบ Day 15 ์Šค์œ„ํ”„ํŠธ ๋ฌธ๋ฒ• ๋ณต์Šต(3) day15.md โœ… ์˜ค๋ž˜ ์‰ฌ์–ด๋ฒ„๋ ธ๋„ค์š”.. ๋‹ค์‹œ ํž˜๋‚ด๋ด…์‹œ๋‹ค!

Days 16-22: Starting iOS

๋ฌธ๋ฒ•์— ๋Œ€ํ•œ ํ•™์Šต์„ ๋งˆ์ณค์œผ๋‹ˆ, ๊ฐ€๋ณ๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์•ฑ์„ ๋งŒ๋“ค์–ด๋ณด๋Š” ๋‹จ๊ณ„

โ†’ 3๊ฐ€์ง€์˜ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰

  • Project 1
  • Project 2
  • Project 3

Project 1 - ๊ฐ„๋‹จํ•œ ์ด๋ฏธ์ง€ ๋ทฐ์–ด
๊ตฌ๋ถ„ ํ‚ค์›Œ๋“œ ์ง„ํ–‰์ƒํ™ฉ ์ฝ”๋ฉ˜ํŠธ ๊ทธ๋ฃน
๐Ÿค” Day 16 FileManager
UITableViewController
โœ… ๊ฐ„๋‹จํ•˜๊ฒŒ ์ด๋ฏธ์ง€ ๋ชฉ๋ก ํ…Œ์ด๋ธ”๋ทฐ์— ํ‘œ์‹œ Project 1
๐Ÿค“ Day 17 ํ…Œ์ด๋ธ”๋ทฐ didSelectRowAt+ํ™”๋ฉด์ „ํ™˜
imageView+ContentMode
๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”(Large Title, HideBarOnTap ...)
โœ… ๋‹ค๋ฅธ VC์— ์ด๋ฏธ์ง€ ๋„์šฐ๊ธฐ Project 1
๐Ÿค“ Day 18 Project 1 ์ฑŒ๋ฆฐ์ง€
ํ…Œ์ด๋ธ” ์…€ ์ •๋ ฌํ•˜๊ธฐ (์˜ค๋ฆ„์ฐจ์ˆœ)
ํ…Œ์ด๋ธ” ์…€ ํฐํŠธ ํฌ๊ธฐ ์กฐ์ •
์ƒ์„ธํŽ˜์ด์ง€ ํƒ€์ดํ‹€์— ๋ช‡๋ฒˆ์งธ ์‚ฌ์ง„์ธ์ง€ ๋„์šฐ๊ธฐ
โœ… ์ฑŒ๋ฆฐ์ง€ ์„ฑ๊ณต Project 1

๐Ÿ’๐Ÿป 17์ผ์ฐจ GIF day17


Project 2 ์ง„ํ–‰
๊ตฌ๋ถ„ ํ‚ค์›Œ๋“œ ์ง„ํ–‰์ƒํ™ฉ ์ฝ”๋ฉ˜ํŠธ ๊ทธ๋ฃน
๐Ÿค” Day 19 Assets
AutoLayout
UIButton
CALayer
โœ… ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฒ„ํŠผ์— ์ด๋ฏธ์ง€ ๋„ฃ๋Š” ์ž‘์—… + ๋ ˆ์ด์•„์›ƒ ์„ธํŒ… Project 2
โœ‹ Day 20 ๋ฐฐ์—ด shuffle
๋‚œ์ˆ˜ ์ƒ์„ฑ
IBAction
UIAlertController
โœ… ๋ฌธ์ œ ๋žœ๋ค ์ƒ์„ฑ + ๊ตญ๊ธฐ ๋งž์ถ”๊ธฐ + ์ ์ˆ˜ ์•Œ๋ฆผ Project 2
โœ‹ Day 21 Project 2 ์ฑŒ๋ฆฐ์ง€
๋„ค๋น„๊ฒŒ์ด์…˜์— ์ ์ˆ˜ ํ‘œ์‹œ
10๊ฐœ ์งˆ๋ฌธ ํ›„์—๋Š” ์ตœ์ข… ์ ์ˆ˜ ์•Œ๋ฆผ
์˜ค๋‹ต ์‹œ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€ ์•Œ๋ฆผ
โœ… ํ”„๋กœ์ ํŠธ 2 ๋งˆ๋ฌด๋ฆฌ Project 2

๐Ÿ’๐Ÿป ํ”„๋กœ์ ํŠธ 2 ์ตœ์ข… ๋ชจ์Šต ์ค‘ ์ผ๋ถ€ ์บก์ฒ˜ แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2021-04-17 แ„‹แ…ฉแ„’แ…ฎ 7 32 48