Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป
๋ฐ˜์‘ํ˜•

potato's iOS Story 52

[UIKit] @available ์–ด๋…ธํ…Œ์ด์…˜์— ๋Œ€ํ•ด์„œ, ๊ทธ๋ฆฌ๊ณ  ์ฝ”๋“œ๋ฒ ์ด์Šค์—์„œ required init(coder: ) ๋Œ€์ฒ˜๋ฒ•(?)

์˜ค๋Š˜์€ ์ฃผ๋ง์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋งŽ์€ ๋ทฐ๋ฅผ ๋งŒ๋“ค์ง€๋Š” ์•Š์•˜๊ณ  ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ํ•˜๊ณ , ๋ชฐ๋ž๋˜๊ฒƒ์„ ์•Œ์•„๊ฐ€๋Š”๋ฐ ์ง‘์ค‘ํ–ˆ๋‹ค. ๊ทธ์ค‘ ์˜ค๋Š˜ ์ธ์ƒ๊นŠ์—ˆ๋˜ ๋‚ด์šฉ์„ ์ ์–ด๋ดค๋‹ค. ๐Ÿค” @available?? ์ž์ฃผ๋ณด๊ธดํ–ˆ๋Š”๋ฐ, ์ด๊ฒŒ ๋ญ์ง€? ์ฝ”๋“œ๋ฅผ๋ณด๋ฉด, @๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ์ž์ฃผ ๋ณด๊ณคํ•œ๋‹ค. @main ๋„ ์žˆ๊ณ , @available๋„ ์žˆ๊ณ ,, #available๋„ ์žˆ๊ณ ! 1๏ธโƒฃ @available์„ ์–ด๋””์„œ ๋ดค์–ด? ๋Œ€์ถฉ ์•Œ๊ธฐ๋กœ๋Š” @available์€ ios ๋ฒ„์ ผ์— ๋‹ค๋ฅธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ• ๋•Œ ๋งŽ์ด ์ผ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. @available(iOS 12, *) func solution() { } @available ๋Š” ํด๋ž˜์Šค ๋˜๋Š” ํ”„๋กœํ† ์ฝœ ์•ž์— ๋†“์ธ๋‹ค๊ณ  ํ•œ๋‹ค. ํƒ€์ž… ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ด ์ ์šฉ๋˜๋Š” ํ”Œ๋žซํผ ๋ฐ OS๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. #available๊ณผ ๋‹ค๋ฅด๊ฒŒ, ์ปดํŒŒ์ผํƒ€..

2022.10.28 ํ• ๋กœ์œˆํŒŒํ‹ฐ์™€ 1์ฐจ ์Šคํ”„๋ฆฐํŠธ ํšŒ๊ณ (๋Š” ๋‹ค์Œ์œผ๋กœ ๋ฏธ๋ค„์ง ^__^)

๋‚˜๋งŒ์˜ ์ƒ๊ฐ์„ ๊ธฐ๋กํ•˜๋Š” ํฌ์ŠคํŒ…์œผ๋กœ, ์•ž๋’ค ๋งฅ๋ฝ์ด ์ „ํ˜€ ์ดํ•ด๊ฐ€ ๊ฐ€์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ €์˜ ํ•˜๋ฃจ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ฐœ๋ฐœ์ผ์ง€์ž…๋‹ˆ๋‹ค! ๐ŸŽƒ์˜ค๋Š˜ ๋ญํ–ˆ์ง€?๐Ÿ‘ป ํ ,, ๊ฐœ๋ฐœ์ผ์ง€๋ผ๊ณ  ํ•˜๊ธฐ ์ฐธ ๋ญํ•œ ํฌ์ŠคํŒ…์ด๋‹ค. ์™œ๋ƒ๋ฉด ์˜ค๋Š˜์€ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ! ์˜ค๋Š˜์€ ์• ํ”Œ ๋””๋ฒจ๋กœํผ ์•„์นด๋ฐ๋ฏธ์—์„œ ์ตœ์ข…ํ”„๋กœ์ ํŠธ '์ค‘๊ฐ„๋ฐœํ‘œ'๊ฐ€ ์žˆ๋Š”๋‚ ์ด๋‹ค. ๋ง์ด ์ค‘๊ฐ„๋ฐœํ‘œ์ง€, ์‚ฌ์‹ค ํŒ€๋ณ„๋กœ ์–ด๋Š ์ฃผ์ œ๋ฅผ ํ–ฅํ•ด ๋‚˜์•„๊ฐ€๊ณ  ์žˆ๊ณ , ํ˜„์žฌ ๊ฐœ๋ฐœ ๋‹จ๊ณ„๋Š” ์–ด๋Š ์ˆ˜์ค€๊นŒ์ง€ ์™”๋Š”์ง€๋ฅผ ๊ณต์œ ํ•˜๋Š” ์‹œ๊ฐ„์ด์—ˆ๊ณ , ํ• ๋กœ์œˆํŒŒํ‹ฐ๋ฅผ ๊ฒธํ•ด์„œ ์ง„ํ–‰ํ–ˆ๋‹ค.๐ŸŽƒ ์ด๋ ‡๊ฒŒ.. ํŒŒํ‹ฐ๋ฅผ ํ•˜๋Š๋ผ ์ฝ”๋”ฉ์€ ์ž˜ ๋ชปํ–ˆ๊ณ  ํ• ๋กœ์œˆํŒŒํ‹ฐ ํ›„๊ธฐ์™€ 1์ฐจ ์Šคํ”„๋ฆฐํŠธ์— ๋Œ€ํ•œ ํšŒ๊ณ ๋ฅผ ๋‚จ๊ฒจ๋ณด๋ ค๊ณ  ํ•œ๋‹ค ํ•˜ํ•ซ ์Šคํ”„๋ฆฐํŠธ์— ๋Œ€ํ•œ ํšŒ๊ณ ๋„ ๊ฐœ๋ฐœ์— ํฌํ•จ๋˜๋Š”๊ฑฐ๋‹ˆ๊นŒ ๊ฐœ๋ฐœ์ผ์ง€ ๋งž์ง€! ๐ŸŽ ์• ํ”Œ ๋””๋ฒจ๋กœํผ ์•„์นด๋ฐ๋ฏธ์˜ ํ• ๋กœ์œˆ ํŒŒํ‹ฐ ๐ŸŽƒ 12์›”์— ๋งˆ๋ฌด๋ฆฌ๋˜๋Š” ์ตœ์ข…..

[UIKit] UICollectionView ๋‚ด๋ถ€์— ๋“ค์–ด๊ฐ€๋Š” cell์˜ ๊ทœ์น™(?)์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ฌ ์‹œ์ž‘ํ•˜๋ฉฐ TMI ์„ค๋ช… ์ง€๊ธˆ์€ ์• ํ”Œ ๋””๋ฒจ๋กœํผ ์•„์นด๋ฐ๋ฏธ์—์„œ ๋งจ ๋งˆ์ง€๋ง‰ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค. ๋งˆ์ง€๋ง‰์ธ ๋งŒํผ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„์ด 3๋‹ฌ์ •๋„๋กœ ์ข€ ๊ธด ํŽธ์ด๊ณ , ๊ทธ ๊ธฐ๊ฐ„๋™์•ˆ ํŒ€์›๋“ค๊ณผ ๊ธฐํš + ๋””์ž์ธ + ๊ฐœ๋ฐœ ๊นŒ์ง€ ๋ชจ๋‘ ์™„๋ฃŒํ•ด์•ผํ•œ๋‹ค. ํƒ€ ๋ถ€ํŠธ์บ ํ”„์™€ ์ฐจ์ด์ ์ด๋ผ๊ณ  ์ƒ๊ฐ๋˜๋Š” ์ ์€, ์• ํ”Œ ๋””๋ฒจ๋กœํผ ์•„์นด๋ฐ๋ฏธ์— ์žˆ์œผ๋ฉด '๊ธฐํš๋ ฅ'์ด ์˜ฌ๋ผ๊ฐ€๊ณ , ์“ธ๋ชจ์žˆ๋Š” ์•ฑ ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ƒ๊ฐํ•˜๊ฒŒ ๋œ๋‹ค. ์ฃผ๋ณ€ ํŒ€๋“ค์˜ ์•„์ด๋””์–ด๋งŒ ๋ด๋„, ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌํŒ€์˜ ์•„์ด๋””์–ด๋งŒ ๋ด๋„ ๊ทธ๋ƒฅ ํ•™์ƒ ์ˆ˜์ค€์˜ ํ”„๋กœ์ ํŠธ๋Š” ํ•˜๊ณ ์‹ถ์ง€ ์•Š๋‹ค๋Š” ์˜์ง€๊ฐ€ ๊ฐ•ํ•˜๊ณ , ์‹ค์ œ๋กœ ๊ณ ๊ฐ ์œ ์น˜์— ์„ฑ๊ณตํ•  ๊ฒƒ ๊ฐ™์€ ์•ฑ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ํž˜์„ ์Ÿ๋Š”๋‹ค. ๋ชจ๋‘๊ฐ€ ์•„์ฃผ ๋นจ๊ฐ„ ์—ด์ •์‚ฌ๊ณผ์ด๋‹ค ๐ŸŽ ์šฐ๋ฆฌ ํŒ€์€, ์šฐ์„  'EDUTECH'๋ฅผ ๋Œ€์ฃผ์ œ๋กœ ์‚ผ๊ณ , narrow down ํ•˜๋ฉด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. ๐Ÿค” ๋ฌด์—‡์„..

[UIKit] extension์œผ๋กœUILabel์˜ ํ–‰๊ฐ„๊ณผ ์ž๊ฐ„์„ ์กฐ์ ˆํ•˜๋Š” ๋ฐฉ๋ฒ•

์ง€๊ธˆ ์• ํ”Œ ๋””๋ฒจ๋กœํผ ์•„์นด๋ฐ๋ฏธ์—์„œ ๋งˆ์ง€๋ง‰ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰์ค‘์ด๋‹ค. ์šด์ด ์ข‹๊ฒŒ๋„, ์ •๋ง ํ•˜๊ณ ์‹ถ์€ ํŒ€์›๊ณผ ํŒ€์„ ์ด๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ , ๊ทธ์ค‘์—์„œ ๊ฐ€์žฅ ๊ฐ™์ด ๊ฐœ๋ฐœ๊ณต๋ถ€๋ฅผ ํ•ด๋ณด๊ณ ์‹ถ์—ˆ๋˜,, ์†Œ๋ฌธ๋‚œ '๊ฐ“๋“€'์™€ ํ•จ๊ป˜ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ฐœ๋ฐœ์ ์ธ ์ธก๋ฉด, ๊ทธ๋ฆฌ๊ณ  ์†Œํ†ตํ•˜๋Š” ๋ฐฉ์‹, ๊ฐœ๋ฐœ์ฒ ํ•™ ๋“ฑ์—์„œ ์ •๋ง ๋ฐฐ์šธ๊ฒŒ ๋งŽ์•˜๋‹ค. ์˜ค๋Š˜๋ถ€ํ„ฐ ๊ฐ“๋“€๋กœ๋ถ€ํ„ฐ ๋ฐฐ์šด ๊ฒƒ๋“ค์„ ํ•˜๋‚˜์”ฉ ์ •๋ฆฌํ•ด๋‚˜๊ฐ€๊ณ , ์˜จ์ „ํžˆ ๋‚˜์˜ ๊ฒƒ์ด ๋  ์ˆ˜ ์žˆ๋„๋ก ๊ธ€์„ ๊พธ์ค€ํžˆ ์ž‘์„ฑํ•  ๊ฒƒ์ด๋‹ค. https://github.com/DeveloperAcademy-POSTECH/MacC-Team-EarthValley80 GitHub - DeveloperAcademy-POSTECH/MacC-Team-EarthValley80: ์—๋“€ ํ…Œํฌ ๋ฌธ์˜๋Š” ์ธ์Šคํƒ€(@earthvalley80) DM ์ฃผ์„ธ์š”๐Ÿ™ ์—๋“€ ํ…Œํฌ ๋ฌธ์˜..

[UIKit] ์™œ ์•ˆ๋– ? ๋งŒ๋“  View๊ฐ€ ์•ˆ๋– ์š”. (๋ ˆ์ด์•„์›ƒ์ด ๊นจ์งˆ๋•Œ ์ฝ˜์†”์ฐฝ ์‚ดํŽด๋ณด๋Š” URL ์ด ์žˆ๋‹ค?!)

๐Ÿ“ฑ CollectionView๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ์™œ ์•ˆ๋– ? Code base๋กœ ๊ฐœ๋ฐœํ•  ๋•Œ ํ•ญ์ƒ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ, (์•„์ง ๋ฏธ์ˆ™ํ•œ ๊ฐ์ž๋ผ์„œ ํ•ญ์ƒ,,,์ƒ๊ธฐ๊ณคํ•œ๋‹ค. ์–ธ์ œ์ฏค ๊ณ ์ˆ˜๊ฐ์ž๊ฐ€ ๋  ์ˆ˜ ์žˆ์„๊นŒ!) View๊ฐ€ ์•ˆ๋œฐ๋•Œ ์ฝ˜์†”์ฐฝ์„ ์‚ดํŽด๋ด์•ผํ•œ๋‹ค๋Š” ์ ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. (์ฝ˜์†”์ฐฝ ์–ด๋ ต๊ฒŒ ์ƒ๊ฒผ์–ด,,) ์ง€๊ธˆ์€ CollectionView๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ๋Š”๋ฐ ๋ทฐ๊ฐ€ ์•ˆ๋“œ๊ณ  ์žˆ๋‹ค. hierarchy๋ฅผ ์‚ดํŽด๋ณด์•„๋„ ๋œจ์ง€ ์•Š๋Š”๋‹ค! (์•„์ดํŒจ๋“œ์ž„) ๋‚ด๊ฐ€ ์“ด collectionview์˜ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. private func configureCollectionView() { collectionView.delegate = self collectionView.dataSource = self collectionView.register(DynamicColl..

[UIKit] BaseViewController๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž. (์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ ๋†’์ด๊ธฐ, ์ค‘๋ณต ์ค„์ด๊ธฐ)

์ƒˆ๋กœ์šด ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๊ฑฐ๊ธฐ์„œ ์‚ฌ์šฉํ•ด๋ณผ BaseViewController์— ๋Œ€ํ•ด์„œ ๊ธ€์„ ์ž‘์„ฑํ•ด๊ฒ ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋‚ด๊ฐ€ ํ•ด๋ณด์ง€ ์•Š์•˜๋˜ ๊ฒƒ๋“ค์„ ์กฐ๊ธˆ์”ฉ ๋„์ „ํ•ด๋ณด๋ฉด์„œ ๋งŒ๋“ค์–ด๋ณผ ์˜ˆ์ •์ด๋‹ค... ๊ทธ๋Ÿฐ๋ฐ ์กฐ๊ธˆ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„์ด ์ด‰๋ฐ•...ํ•ด์„œ...๊ฑฑ์ •์ด ...,,, ์”... ๐ŸŸ  BaseViewController๋ž€? BaseViewController๋Š” ์ปค์Šคํ…€ ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ์ด๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ UIKit์œผ๋กœ ๋ทฐ๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜๋ฉด UIViewController๋ฅผ ์ƒ์†๋ฐ›๊ฒŒ ๋˜๋Š”๋ฐ, ์ด UIViewController๋Œ€์‹  ๋‚ด๊ฐ€ ๋งŒ๋“  BaseViewController๋ฅผ ์ƒ์†๋ฐ›๊ฒŒ ํ•˜๋ฉด๋œ๋‹ค.! ๊ทธ๋ž˜์„œ ์›๋ž˜๋Š” makeview

[CloneApp] (UIKit) toss ์•ฑ ํด๋ก ์ฝ”๋”ฉ - (2) Home ํƒญ UI ๋งŒ๋“ค๊ธฐ

toss ์•ฑ ํด๋ก ์ฝ”๋”ฉ ๋‘๋ฒˆ์งธ. ํ™ˆ๋ทฐ๋ฅผ ๋งŒ๋“œ๋Š” ์ค‘์ด๋‹ค. ์ด๋ฒˆ์— ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๋ชฉํ‘œ๋กœ ์„ธ์› ๋˜ ๊ฒƒ์„ ์ง€ํ‚ค๋ฉด์„œ ๊ณต๋ถ€ํ•˜๋Š๋ผ ์กฐ๊ธˆ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ ธ๋‹ค. ^___^ (๋ฐ”๋ณธ๊ฐ€ ใ… ) ๊ธฐ์ดˆ ๊ฐœ๋…๋„ ๋†“์น˜์ง€ ์•Š๊ณ  ํ™•์‹คํ•˜๊ฒŒ ํ•˜๊ณ  ๋„˜์–ด๊ฐˆ ๊ฒƒ ๊ฐœ๋ฐœ ๊ณผ์ •์„ ๊ธฐ๋กํ•  ๊ฒƒ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•˜๋Š” UI ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žˆ๋‹ค๋ฉด, ์ถฉ๋ถ„ํžˆ ๊ณ ๋ฏผํ•˜๊ณ  ๊ตฌํ˜„ํ•  ๊ฒƒ ๐Ÿ”ต ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•˜๋Š” ํ™”๋ฉด 1๋ฒˆํ™”๋ฉด์˜ ์„ ๋ฌผ์ƒ์ž๊ทธ๋ฆผ์€ x ๋ˆ„๋ฅด๋ฉด ์—†์–ด์ง€๋Š” ๊ด‘๊ณ (?)๋ทฐ์ž„ ๊ด‘๊ณ ๋ทฐ(?)๊ฐ€ ์—†๋Š” ํ™”๋ฉด์„ ๊ตฌํ˜„ํ•  ์˜ˆ์ •! ๐Ÿ”ต 'ํ† ์Šค๋ฑ…ํฌ, ์ž์‚ฐ, ์†Œ๋น„' ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•ด์•ผํ• ๊นŒ ๐Ÿ”น UICollectionView๋กœ ๊ตฌํ˜„ํ•˜๋Š”๊ฒŒ ๋งž์„๊นŒ https://github.com/DeveloperAcademy-POSTECH/CCC-1st-Toss-Brown/pull/7 [FEAT] Home ํƒญ collection view..

[Error] fatalError("Expected superview but found nil when attempting make constraint `equalToSuperview`.")

์•ฑ์„ ๋งŒ๋“ค๊ณ  ์žˆ๋Š”๋ฐ ๊ฐ‘์ž๊ธฐ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ. ์ธํ„ฐ๋„ท์„ ์ฐพ์•„๋ณด๋‹ˆ๊นŒ addsubView๋ฅผ ์•ˆํ•ด์„œ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ์ธ๊ฒƒ ๊ฐ™์€๋ฐ, ๋‹ค์‹œ ์ฐจ๊ทผ์ฐจ๊ทผ ์ฝ”๋“œ๋ฅผ ์ฝ์–ด๋ณด๋ฉด์„œ ํ•ด๊ฒฐํ•ด๋ณด์ž. ๋„๋Œ€์ฒด ์–ด๋””์„œ ๋ฌธ์ œ๊ฐ€ ๋‚˜๋Š”๊ฒƒ์ธ๊ฐ€? (์•„๋ฌด๋ฆฌ ๋ด๋„ addsubview์•ˆํ•œ ๋ถ€๋ถ„์ด ์—†์Œ.. ์•„๋ฌด๋ž˜๋„ add๋Š” ๋‹ค ํ•ด์คฌ์ง€๋งŒ ๊ทธ ์‚ฌ์ด์— ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋’ค๋ฐ”๋€Œ๊ฑฐ๋‚˜ ๋“ฑ ์ถฉ๋Œ์ด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ..๊ฐ™..ใ…‡.ใ…ก.ใ„ด..ใ….... ใ… ) ๐Ÿ”ต ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋ฒ„ํŠผ์„ ๋„ฃ์–ด์ฃผ์–ด์•ผํ•ด์„œ switch๋ฌธ์„ ์ด์šฉํ•ด์„œ func์„ ๋„ฃ์–ด์คŒ extension HomeCellListCell { func setupViews() { [listImageView, subTitle, title].forEach { addSubview($0) } listImageView.snp.makeConstraints {..

[Apple Developer Academy] 2๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ 

2022.05.10 ~ 2022.06.20 6์ฃผ๊ฐ„ ์ง„ํ–‰ํ–ˆ๋˜ ์• ํ”Œ ๋””๋ฒจ๋กœํผ ์•„์นด๋ฐ๋ฏธ์—์„œ์˜ ๋‘๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋๋‚ฌ๋‹ค.๋Š๋‚€๊ฒƒ๋„, ๋ฐฐ์šด์ ๋„ ๋งŽ์•˜๋˜ ํ”„๋กœ์ ํŠธ์ด๊ธฐ์— ํšŒ๊ณ ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์•„๋ž˜์—์„œ๋Š” '๋‘๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ'๋ผ๋Š” ๋ง ๋Œ€์‹  ์• ํ”Œ ๋””๋ฒจ๋กœํผ ์•„์นด๋ฐ๋ฏธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋‹จ์–ด์ธ MC2 ๋ผ๊ณ  ์นญํ•˜๊ฒ ๋‹ค. (Mini Challenge์˜ ์•ฝ์ž) ์‹œ์ž‘!! ๐Ÿ”ต ์ฐจ๊ณก์ฐจ๊ณก ์ด๋ฒˆ์— ์šฐ๋ฆฌํŒ€์ด ๋งŒ๋“  '์ฐจ๊ณก์ฐจ๊ณก'์•ฑ์€ "์šด์ „ํ•˜๋Š” ๋„์ค‘์— ๊ธฐ๋ก์„ ํŽธํ•˜๊ฒŒ ํ•˜์ž" ๋ผ๋Š” ์ฑŒ๋ฆฐ์ง€๋ฅผ ๊ฐ–๊ณ  ์‹œ์ž‘ํ–ˆ๋‹ค. ์šด์ „ํ•˜๋ฉด์„œ ๋ฐœ๊ฒฌํ•œ ์˜ˆ์œ ๋“œ๋ผ์ด๋ธŒ ์ฝ”์Šค (๊ฐ‘์ž๊ธฐ ๋ฐœ๊ฒฌํ•œ ๊ฝƒ๊ธธ ๋“ฑ)์™€ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์žฅ์†Œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์„ ๋•Œ, ์ž๋™์ฐจ ํ•ธ๋“ค์˜ ๊ฐ„๋‹จํ•œ ์กฐ์ž‘์œผ๋กœ ์œ„์น˜๋ฅผ ์ฐจ๊ณก์ฐจ๊ณก ์ €์žฅํ•˜๋Š” ์•ฑ์ด๋‹ค. ๐Ÿš™ Github - https://github.com/DeveloperAcademy-POST..

[CloneApp] (UIKit) toss ์•ฑ ํด๋ก ์ฝ”๋”ฉ - (1) TabBar ๋งŒ๋“ค๊ธฐ

์• ํ”Œ ๋””๋ฒจ๋กœํผ ์•„์นด๋ฐ๋ฏธ์—์„œ ๋ฌธํ™”์„ผํ„ฐ๋กœ ์ง„ํ–‰ํ•˜๊ณ ์žˆ๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ(?) ์†Œ๋ชจ์ž„(?)์— ์ฐธ์—ฌ์ค‘์ธ๋ฐ, ์ง€๊ธˆ๊นŒ์ง€ ๋‘ ๊ฐœ์˜ ํด๋ก  ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ์ง€๋งŒ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ ๊ฒน์นจ + ์•ฝ๊ฐ„์˜ ๋จธ๋ฆฌ์ •๋ฆฌ๊ฐ€ ์•ˆ๋จ + ์•ฝ๊ฐ„์˜ ๊ฒŒ์œผ๋ฆ„ ์œผ๋กœ ์—…๋กœ๋“œํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ์˜ค๋Š˜ ์‹œ์ž‘ํ•˜๋Š” toss ์•ฑ ํด๋ก ์ฝ”๋”ฉ์€ ๋งค์ผ๋งค์ผ ์กฐ๊ธˆ์”ฉ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๊ฒช์—ˆ๋˜ ์–ด๋ ค์›€์ด๋‚˜ ๊ณ ๋ฏผ๋“ค์„ ์ ์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๐ŸŸฃ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ๊ฐ™์ด ์ง„ํ–‰ํ–ˆ๋˜ ๋ฉ˜ํ‹ฐ๋ถ„์ด ".gitignore"ํŒŒ์ผ๊ณผ "xcodeproj" ํด๋”๋Š” ๋™์ผํ•œ ๊ฒฝ๋กœ์— ์žˆ์–ด์•ผ ์ข‹๋‹ค๊ณ  ๋ง์”€ํ•ด์ฃผ์…จ๋‹ค. ์ž์„ธํ•œ ์ด์œ ๋Š”,,, ์ž˜ ๋ชป๋“ค์—ˆ์ง€๋งŒ (๋‹ค์‹œ ๋ฌผ์–ด๋ณด๊ณ  ์ ์–ด๋†“์ž!) ๋‚˜์ค‘์— ์ ‘๊ทผํ•˜๊ธฐ ํŽธํ•˜๋‹ค๋‚˜..? ์ด๋Ÿฐ์ด์œ ์˜€๋˜๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์›๋ž˜ ํ‰์†Œ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋งŒ๋“ค์—ˆ์—ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” ์œ„์—์ฒ˜๋Ÿผ ๋งŒ๋“ค๊ฒƒ..

๋ฐ˜์‘ํ˜•