Inflearn brand logo image
Inflearn brand logo image
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

ํ•œ ์กฐ๊ฐ์”ฉ ๋ฐฐ์šฐ๋Š” SwiftUI - ๋ ˆ๋ฒจ 2

์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์–ด๋ ต๊ฒŒ ๊ณต๋ถ€ํ•ด์„œ ์•ฑ์„ ๋งŒ๋“ค์ง€ ๋งˆ์„ธ์š”! SwiftUI, ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ํ•œ ์กฐ๊ฐ์”ฉ ๊บผ๋‚ด ๋“œ์„ธ์š”!

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ, SwiftUI] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • SwiftUI

  • component

  • modifier

  • iOS

๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ์‹œ์ž‘ํ•˜๋Š” SwiftUI! 
์–ด๋ ค์šด ๋ฌธ๋ฒ• ๋Œ€์‹  ์กฐ๊ฐ์กฐ๊ฐ ๋ฐฐ์›Œ๋ณด์„ธ์š”.

iOS ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ, 
๊ผญ ๋ฌธ๋ฒ•๋ถ€ํ„ฐ ๋ฐฐ์›Œ์•ผ ํ• ๊นŒ์š”? ๐Ÿฅบ

โ€œBetter apps. Less code.โ€

์ตœ์†Œํ•œ์˜ ์ฝ”๋“œ๋กœ ๋ฉ‹์ง„ ์•ฑ์„! SwiftUI๋Š” iOS, iPadOS, macOS ๋“ฑ ์• ํ”Œ ํ”Œ๋žซํผ์˜ ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐ„ํŽธํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์†์‰ฝ๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ์ด ๋Œ€์„ธ๊ฐ€ ๋œ ์š”์ฆ˜, ์ฒ˜์Œ์œผ๋กœ ๋ชจ๋ฐ”์ผ ์•ฑ์— ๋„์ „ํ•˜๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๊ณ ๋ฏผ์ด ๋“ค๊ธฐ ๋งˆ๋ จ์ž…๋‹ˆ๋‹ค. ๊ผญ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฌธ๋ฒ•๋ถ€ํ„ฐ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š”์ง€, ๋ฌธ๋ฒ•์„ ๋ฐฐ์šฐ๋ฉด ์–ด๋””๊นŒ์ง€ ํ•  ์ˆ˜ ์žˆ์„์ง€, ์•ฑ์„ ์ผ๋‹จ ๋งŒ๋“ค์–ด๋ณด๋ ค๋ฉด ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€...

์• ํ”Œ(Apple)์ด ์ œ์•ˆํ•˜๋Š” SwiftUI๋Š” UI๋ฅผ ๊ทธ๋ฆฌ๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ผญ ๋ชจ๋“  UI๋ฅผ ๋‹ค ๊ณต๋ถ€ํ•˜๊ฑฐ๋‚˜ Swift(์Šค์œ„ํ”„ํŠธ)์˜ ๋ฌธ๋ฒ•์„ ์ „๋ถ€ ์•Œ์•„์•ผ๋งŒ iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ UI๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ฑด ์•„๋‹™๋‹ˆ๋‹ค. SwiftUI์—์„œ ์ง€์›ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•œ ์กฐ๊ฐ์”ฉ ๋ฐฐ์šฐ๋ฉด์„œ ์ ์  ๋ณต์žกํ•œ UI๋ฅผ ๊ทธ๋ ค๋ณด๋ฉด ์–ด๋–จ๊นŒ์š”? ์–ด์ฉŒ๋ฉด ๋ชจ๋“  ๊ฒƒ์„ ๋‹ค ๊ณต๋ถ€ํ•˜๊ณ  UI๋ฅผ ๊ทธ๋ ค๋ณด๋Š” ๊ฒƒ๋ณด๋‹ค ์‰ฝ๊ณ , ๋น ๋ฅด๊ณ , ํšจ๊ณผ์ ์œผ๋กœ ์•ฑ ๊ฐœ๋ฐœ์— ๋‹ค๊ฐ€์„ค ์ˆ˜ ์žˆ์„์ง€๋„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค. 

SwiftUI์˜ ์‹œ์ž‘์„ ๊ณ ๋ฏผํ•˜์‹œ๋Š” ๋ถ„, Swift๋ฅผ ๋ชจ๋ฅด์ง€๋งŒ UI๋ฅผ ๊ทธ๋ ค๋ณด๊ณ  ์‹ถ์€ ๋ถ„๋“ค์„ ์œ„ํ•ด ์ด๋ฒˆ ๊ฐ•์˜๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. Swift ๋ฌธ๋ฒ•์— ๋Œ€ํ•ด ์ „ํ˜€ ๋ชฐ๋ผ๋„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‰ฝ๊ณ  ์žฌ๋ฏธ์žˆ๋Š” SwiftUI๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!


Swift๋ฅผ ๋ชฐ๋ผ๋„ ์‹œ์ž‘ํ•˜๋Š” 
์•ฑ ๊ฐœ๋ฐœ์˜ ์ฒซ ๊ฑธ์Œ.

โœ… ์ผ๋‹จ SwiftUI๋ฅผ ๋ฐฐ์›Œ ๊ตฌํ˜„์„ ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 
โœ… ๊ณต๋ถ€๋ฅผ ํ•˜๋‹ค Swift ๋ฌธ๋ฒ•์ด ํ•„์š”ํ•  ๋•Œ ๋ฌธ๋ฒ• ๊ฐ•์˜๋กœ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ์ปค๋ฆฌํ˜๋Ÿผ์„ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฒฝ๊ณ ์ฐฝ(alert) ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
์ง„ํ–‰๋„(๋กœ๋”ฉ ๋ฐ”) ๋‚˜ํƒ€๋‚ด๊ธฐ
์ƒ์„ธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๊ธฐ
์•”ํ˜ธํ™”๋œ ์ž…๋ ฅ๊ฐ’ ๋ณด์—ฌ์ฃผ๊ธฐ

๊ฐ•์˜๋ฅผ ๋‹ค ๋“ฃ๊ณ  ๋‚˜๋ฉด โœŒ

  • ์ฐ๋จน์ด ๊ฐ€๋Šฅํ•œ ๊ฐ•์˜๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•œ ์กฐ๊ฐ์”ฉ SwiftUI์˜ ์ง€์‹์„ ํ•™์Šตํ•˜๊ณ  ๋ฐ”๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•˜๋ฃจ์— ํ•œ๋‘ ๊ฐœ์”ฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์•Œ์•„๋ณด๊ณ , ์ด๊ฒƒ๋“ค์„ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„์ง€ ๋ฐฐ์›Œ์„œ ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ, ๋ฆฌ์ด์˜ค Swift ์‹œ๋ฆฌ์ฆˆ ๐Ÿ“บ

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • SwiftUI๋ฅผ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜์‹œ๋Š” ๋ถ„

  • ์ด๋ฏธ SwiftUI๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ๊ณ„์‹  ๋ถ„

  • SwiftUI๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋ฌด์—‡์„ ํ•ด์•ผํ•  ์ง€ ๋ชจ๋ฅด๊ฒ ๋Š” ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • "ํ•œ ์กฐ๊ฐ์”ฉ ๋ฐฐ์šฐ๋Š” SwiftUI - ์ž…๋ฌธํŽธ" ๊ฐ•์˜๋ฅผ ๋จผ์ € ์ˆ˜๊ฐ•ํ•ด์ฃผ์„ธ์š”.

์•ˆ๋…•ํ•˜์„ธ์š”
๋ฆฌ์ด์˜ค์ž…๋‹ˆ๋‹ค.

6,954

๋ช…

์ˆ˜๊ฐ•์ƒ

171

๊ฐœ

์ˆ˜๊ฐ•ํ‰

3

๊ฐœ

๋‹ต๋ณ€

4.9

์ 

๊ฐ•์˜ ํ‰์ 

11

๊ฐœ

๊ฐ•์˜

์•ˆ๋…•ํ•˜์„ธ์š” ํฌํ•ญ์—์„œ ๊ฐœ๋ฐœ์„ ๋‚š๊ณ ์žˆ๋Š” ๋ฆฌ์ด์˜ค ์ž…๋‹ˆ๋‹ค.

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

14๊ฐœ โˆ™ (1์‹œ๊ฐ„ 48๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!

๋ฌด๋ฃŒ