Sparta Swift Team Project #1 ... Coffee Ordering App โ˜•๏ธ

TaeUkยท2024๋…„ 4์›” 16์ผ
0

Swift Project ์ •๋ฆฌ

๋ชฉ๋ก ๋ณด๊ธฐ
3/3
post-thumbnail

Team Project ๋งˆ๋ฌด๋ฆฌ

๋ฒŒ์จ ํŒ€ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋๋‚œ์ง€ ์ผ์ฃผ์ผ์ด ์ง€๋‚ฌ๋‹ค... ์ง€๋‚œ์ฃผ ์›”์š”์ผ์— ๋‹ค๋ฅธ ํŒ€๋“ค๋„ ๋ชจ์—ฌ ํ•จ๊ป˜ ๊ฒฐ๊ณผ ๋ฐœํ‘œ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋‹ค.

๊ฒฐ๊ณผ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด... Coffee Ordering App์—์„œ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์ง€ ๋ชปํ•˜์˜€๊ณ , ๊ทธ ์ƒํƒœ๋กœ ๋ฐœํ‘œ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋‹ค. ใ… 

์ด์— ๋Œ€ํ•œ ์›์ธ๋„ ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ๊ณ ๋ฏผํ•ด๋ณด์•˜๋‹ค... ๐Ÿ˜ฅ

์—ฟํŠผ, ์šฐ์—ฌ๊ณก์ ˆ ๋์— ํ”„๋กœ์ ํŠธ๋Š” ๋งˆ๋ฌด๋ฆฌ๋˜์—ˆ๋‹ค... ๐Ÿ™ˆ


Coffee Ordering App ๊ธฐ๋Šฅ ์ •๋ฆฌ

Coffee Ordering App์˜ UI๋ฅผ ๋ชจ๋“  ํŒ€์›์ด ๋งŒ๋“ค์–ด๋ณด๊ณ , ๊ฐ€์žฅ ์ ํ•ฉํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋˜๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค.

๊ทธ ๊ฒฐ๊ณผ, ํŒ€์› ์ค‘ ํ•œ ๋ถ„์˜ StoryBoard๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค!

์šฐ์„  ์•„๋ž˜์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ StoryBoard๋ฅผ ๊ตฌ์„ฑํ•˜์˜€๊ณ , ๋ฉ”๋‰ด ํ•ญ๋ชฉ ์„ ํƒ์„ ์œ„ํ•ด UISegmentedControl์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„ ํƒ๋œ ํ•ญ๋ชฉ์— ๋”ฐ๋ผ ๋ฉ”๋‰ด๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด UICollectionView๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ณ , ํ•˜๋‹จ์˜ ์„ ํƒ ๋‚ด์—ญ์„ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด UITableView๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

  • Coffee Ordering App -> StoryBoard

๊ทธ๋ฆฌ๊ณ  ํ™”๋ฉด ์ค‘์•™์— ์„ ํƒ๋œ ๋ฉ”๋‰ด์˜ ์ˆ˜์™€ ์ด ๊ธˆ์•ก์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•œ Label์„ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค.

์—ฌ๊ธฐ์„œ ๋‚˜๋Š” UICollectionView์—์„œ ์„ ํƒํ•œ ๊ฐ’๋“ค์ด UITableView์— ์ค‘๋ณต๋˜์–ด ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์„ ํƒ๋œ ํ•ญ๋ชฉ์— ํ•œํ•˜์—ฌ ํ•˜๋‚˜์˜ Cell๋งŒ ์ถœ๋ ฅํ•˜๋„๋ก ๊ธฐ๋Šฅ์„ ์ˆ˜์ •ํ•˜์˜€๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ฒฐ์ œ ํ™•์ธ์—์„œ UIAlertView๋ฅผ ์‚ฌ์šฉํ•œ ์ถ”๊ฐ€ ์•Œ๋žŒ๊นŒ์ง€ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

์ดํ›„, ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์— ๋”ฐ๋ฅธ ์™€์ด์–ดํ”„๋ ˆ์ž„์„ ์ž‘์„ฑํ•ด๋ณด์•˜๋‹ค.

ํ•„์ˆ˜ ๊ตฌํ˜„ ๊ธฐ๋Šฅ

  • ๋ฐฐ๋„ˆ : UILabel์˜ inspector์—์„œ text๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝ

  • ์นดํ…Œ๊ณ ๋ฆฌ : UISegmentedControl ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ segment ๋งˆ๋‹ค ์นดํ…Œ๊ณ ๋ฆฌ์— ๋งž๋Š” ๋ฉ”๋‰ด๋ฅผ ํ‘œ์‹œ

  • ๋ฉ”๋‰ด : UICollectionView ์˜ ๊ฐ ์…€์— UIImage ์™€ UILabel์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฉ”๋‰ด ์‚ฌ์ง„๊ณผ ์ด๋ฆ„, ๊ฐ€๊ฒฉ์ •๋ณด๋ฅผ ํ‘œ์‹œ(์…€์˜ ๊ฐฏ์ˆ˜๋Š” ๋ฉ”๋‰ด ๋ฐ์ดํ„ฐ์˜ ์ˆซ์ž๋Œ€๋กœ ์ƒ์„ฑ๋˜๋ฉฐ ํ•œ ์ค„์— ์— 2๊ฐœ์˜ ์…€์ด ๋ฐฐ์น˜)

  • ์„ ํƒ๋œ ๋ฉ”๋‰ด์˜ ์ด๊ฐœ์ˆ˜์™€ ์ด๊ฐ€๊ฒฉ : UICollectionViewCell์ด ์„ ํƒ๋  ๋•Œ ์ž‘๋™ํ•˜๋Š” ํ•จ์ˆ˜(didSelectItemAt)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ tableView์—์„œ ๋ฐ”๋€๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ํ‘œ์‹œ

  • ์„ ํƒ๋œ ๋ฉ”๋‰ด ๋ฆฌ์ŠคํŠธ : UITableView ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์Šคํฌ๋กค ํ˜•์‹์œผ๋กœ ์„ ํƒ๋œ ๋ฉ”๋‰ด๋ฅผ ํ‘œ์‹œํ•˜์˜€์œผ๋ฉฐ UITableViewCell ์—๋Š” UIImageView์™€ UILabel์„ ํ™œ์šฉํ•˜์—ฌ ์„ ํƒ๋œ ๋ฉ”๋‰ด์˜ ์‚ฌ์ง„๊ณผ ์ด๋ฆ„์„ ํ‘œ์‹œํ•˜๊ณ , UIStepper๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ํƒ๋œ ๋ฉ”๋‰ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ค„์ด๊ณ  ๋Š˜๋ฆฌ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€

  • ๊ฒฐ์ œ, ์ทจ์†Œ ๋ฒ„ํŠผ : ์ „์ฒด์‚ญ์ œ, ๊ฒฐ์ œํ•˜๊ธฐ ๋ฒ„ํŠผ ์„ ํƒ์‹œ ํ™•์ธ ์•Œ๋Ÿฟ, ํ•œ๋ฒˆ ๋” ํ™•์ธ์„ ๋ˆ„๋ฅผ ์‹œ ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋Š” ์•ˆ๋‚ด์ฐฝ์ด ๋œจ๋ฉฐ ํ…Œ์ด๋ธ”๋ทฐ์™€ ์ด ๋ฉ”๋‰ด ์ง‘๊ณ„์ˆ˜๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ดˆ๊ธฐํ™”

์ถ”๊ฐ€ ๊ตฌํ˜„ ๊ธฐ๋Šฅ

  • LaunchScreen : App ์‹คํ–‰ ์‹œ ํ™ˆ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ์ „ ๋กœ๋”ฉ์‹œ๊ฐ„๋™์•ˆ ๋ณด์—ฌ์ง€๋Š” ๋Ÿฐ์น˜์Šคํฌ๋ฆฐ ๊ตฌํ˜„

  • ์ง์›ํ˜ธ์ถœ ๋ฒ„ํŠผ : ๋ฒ„ํŠผ ์„ ํƒ์‹œ ํ™•์ธ ์•Œ๋Ÿฟ์ด ์ƒ์„ฑ


Coffee Ordering App ๊ฒฐ๊ณผ

์™„์„ฑํ•˜์ง€ ๋ชปํ•œ ๊ธฐ๋Šฅ

  • UIStepper์˜ ๋ฉ”๋‰ด ๊ฐœ์ˆ˜ ์ถ”๊ฐ€, ๊ฐ์†Œ์— ๋”ฐ๋ฅธ ์ด๊ฐœ์ˆ˜์™€ ์ด๊ฐ€๊ฒฉ์˜ ๋ฐ์ดํ„ฐ ๋ณ€๋™


Project๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ...

Swift์™€ IOS App ๊ฐœ๋ฐœ์— ๋Œ€ํ•ด ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•œ ์ดํ›„๋กœ, ์ฒซ ํŒ€ ํ”„๋กœ์ ํŠธ์˜€๋‹ค...

๋‹ค๋ฅธ ํŒ€์›๋“ค๋„ ์ƒํ™ฉ์€ ๋น„์Šทํ•˜์˜€๊ณ , ๋‹ค๋“ค ์„œํˆด๋ ธ๊ธฐ์— ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ๋ฏธ๋ จ์€ ์—†๋‹ค... ใ… ใ… 

๊ทผ๋ฐ, ์ด ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„์ธ 7์ผ ์ค‘, ์ดˆ๋ฐ˜ 3 ~ 4์ผ์„ ๊ฐ์ž ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•ด๋ณด๊ณ  ์ดํ›„ ํ•ฉ์ณ๋ณด๋Š” ๊ฑธ๋กœ ์ง„ํ–‰ํ–ˆ๋˜ ์ ์ด ๋ฌธ์ œ๊ฐ€ ๋˜์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค...

๋ง‰์ƒ ๊ฐœ๋ฐœํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์†Œ์š” ์‹œ๊ฐ„์ด๋‚˜ ์›ํ™œํ•œ ์ž‘์—… ๋ถ„๋ฐฐ ๋“ฑ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ , ๊ทธ๋ƒฅ ๊ฐ์ž ๋งŒ๋“ค๋ฉด์„œ ๊ณต๋ถ€ํ•˜์ž๋Š” ๋ชฉ์ ์œผ๋กœ ์‹œ์ž‘ํ–ˆ๋˜๊ฒŒ ๋…์ด ๋œ ๊ฒƒ ๊ฐ™๋‹ค... ๐Ÿ˜ญ

๊ทธ๋ฆฌ๊ณ ... MVC ํŒจํ„ด์„ ์ ์šฉํ•ด๋ณด์ง€ ๋ชปํ•œ ์ ๋„ ์•„์‰ฝ๊ฒŒ ๋Š๊ปด์ง„๋‹ค.

๋ฉ”๋‰ด์— ๋Œ€ํ•œ Data๋Š” ๋ณ„๋„๋กœ ๊ตฌ์„ฑํ•˜์˜€์ง€๋งŒ, ์ข€ ๋” ์„ธ๋ถ„ํ™”์‹œํ‚ค์ง€ ๋ชปํ•˜์˜€๊ณ ...

Controller์— ๋Œ€ํ•œ ๋กœ์ง๋„ ๋”ฐ๋กœ ๊ตฌ์„ฑํ•˜์ง€ ๋ชปํ•˜์˜€๋‹ค... ใ… 

์ „๋ฐ˜์ ์œผ๋กœ ์•„์‰ฌ์šด ์ ์ด ๋งŽ์•˜๋‹ค...

๊ทธ๋ž˜๋„ ์ฒซ ํŒ€ ํ”„๋กœ์ ํŠธ์˜€๊ธฐ์— ์˜๋ฏธ๊ฐ€ ๋‚จ๋‹ฌ๋ž๋˜๊ฑฐ ๊ฐ™๋‹ค. ๋‹ค์Œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์—ฌ๊ธฐ์„œ ๋Š๋‚€ ์•„์‰ฌ์šด ์ ๋“ค์„ ๋ณด์™„ํ•ด๋ด์•ผ๊ฒ ๋‹ค...!

๊ทธ๋ž˜๋„ ์ข‹์€ ๋ถ„๋“ค๊ณผ ํ•œ ํŒ€์ด ๋˜์—ˆ๊ธฐ์— ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ ๋‚ด๋‚ด, ํŽธ์•ˆํ•˜๊ฒŒ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค!!

Coffee Ordering App - GitHub

2๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2024๋…„ 4์›” 20์ผ

์‚ฌ์žฅ๋‹˜ ์ปคํ”ผ๊ฐ€ ๋น„์‹ธ๋„ค์š”ใ…‹

1๊ฐœ์˜ ๋‹ต๊ธ€