[iOS/Swift] TableView์—์„œ SnapScroll (magnetic scroll) ๊ตฌํ˜„
ยท
learnings/Swift
๊ณผ์ œ๋กœ ๋งŒ๋“ค์—ˆ๋˜ UPlayList๋ฅผ swift๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋ฉฐ UI์— ๋Œ€ํ•œ ์š•์‹ฌ์ด ์ƒ๊ฒผ๋‹ค.UIPageControl์—๋Š” ์ด๋ฏธ SnapScroll๊ณผ ๊ด€๋ จํ•œ ์ •๋ณด๋“ค์ด ๋งŽ์€๋ฐ, TableViewControll์€ ์„œ์นญํ•ด๋„ ์ฐพ์•„๋ณด๊ธฐ ํž˜๋“ค์–ด์„œ,,๋‚˜์—๊ฒŒ๋„ ์ด๊ฑธ ์ฐพ๋Š”์‚ฌ๋žŒ์—๊ฒŒ๋„ ๋„์›€์ด ๋ ๊ฒƒ ๊ฐ™์•„ ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๋ ค๊ณ  ํ•œ๋‹ค.0. SnapScroll ๋Œ€ํ‘œ์ ์œผ๋กœ ์œ ํŠœ๋ธŒ ์ˆ์ธ ๋‚˜ ํ‹ฑํ†ก์—์„œ ์ž์ฃผ ์ ‘ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์Šคํฌ๋กค์„ ๋‚ด๋ฆฌ๊ฑฐ๋‚˜ ํŽ˜์ด์ง€๋ฅผ ์ด๋™ํ•˜๋ฉด์ž์„์ฒ˜๋Ÿผ ๋ชจ์„œ๋ฆฌ์— ๋‹ฌ๋ผ๋ถ™๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์ด๋‹ค.CSS๊ณต์‹๊ฐ€์ด๋“œ์—์„œ ์ด๊ฒŒ ๋ฌด์—‡์ธ์ง€ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋‹ค.1. UITableView ์ด ์•„์ด๋Š” UIScrollView๋ฅผ ์ƒ์†๋ฐ›์•„ ์—ฌ๋Ÿฌ ํ–‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š”๋ฐ, UIScrollView๋ผ๋Š” ๋…€์„์ด ๋””๋ฐ”์ด์Šค์˜ ๋””์Šคํ”Œ๋ ˆ์ด๋ฅผ ํ•˜๋‚˜์˜ W..
[iOS/Swift] #1-2 ๋‚˜์˜ ์ฒซ ํ† ์ดํ”„๋กœ์ ํŠธ
ยท
learnings/Swift
๋ฌด์ง€์„ฑ ํ† ์ดํ”„๋กœ์ ํŠธ ์‹œ๋ฆฌ์ฆˆ ์ž‘์—… ์ˆœ์„œ...? ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ๋ž‘ ์นœํ•ด์ง€๊ธฐ UIImagePickerController๋ฅผ ์ด์šฉํ•œ ์‚ฌ์ง„์ฒจ๋ถ€ CoreData๋ผ๋Š” Framework๋ฅผ ์‚ฌ์šฉํ•œ CRUD๊ตฌํ˜„ TableView, TableViewCell, ์ปค์Šคํ…€ ์…€์ด๋ž‘ ์–ด๋–ป๊ฒŒ๋“  ์นœํ•ด์ง€๊ธฐ ๊ทธ์ค‘ ์˜ค๋Š˜์€ 3๋ฒˆ๋ถ€ํ„ฐ!! ๊ณ ๊ณ ๊ณ ใ…—๊ณ ๊ณ ๊ณกใ„ฑ 3. CoreData๋ผ๋Š” FrameWork๋ฅผ ์ด์šฉํ•œ CRUD๊ตฌํ˜„ ์•ฑ ๋กœ์ปฌ DB๋กœ ์“ธ ์ˆ˜ ์žˆ๋Š”๊ฒƒ๋“ค์ด ๋ช‡๊ฐœ์žˆ๋‹ค. UserDefault, CoreData, SQLite, Realm,,์ •๋„? UserDefault๋Š” ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š”๋ฐ์— ์ ํ•ฉํ•˜์ง€ ์•Š์€๊ฒƒ ๊ฐ™๋‹ค. ๋กœ๊ทธ์ธ ๋ฐ์ดํ„ฐ ์ €์žฅ์ด๋‚˜,,์•ฑ ์ตœ์ดˆ์‹คํ–‰ ์—ฌ๋ถ€๋‚˜ ๊ทธ๋Ÿฐ๊ฒƒ๋“ค์„ ์ €์žฅํ•˜๋Š”๋ฐ์— ์“ฐ๋Š”๋“ฏ. ๋‚˜์ค‘์— ์•จ๋ฒ”๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ• ๋•Œ tableView๋ฅผ ์ด์šฉํ•  ์˜ˆ์ •์ด๋ฏ€๋กœ, Co..
[iOS/Swift] #1-1 ๋‚˜์˜ ์ฒซ ํ† ์ดํ”„๋กœ์ ํŠธ
ยท
learnings/Swift
'๊ณต๊ฐ„๊ธฐ๋ก' ์ด๋ผ๋Š” ํ† ์ดํ”„๋กœ์ ํŠธ ๋๋‚ด๋ฉฐ ๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ๊ธฐ๋ก์ด๋‹ค. ์•ˆ์ ค๋ผ์Œค์˜ ๊ฐ•์˜๋ฅผ ๋“ฃ๋‹ค๊ฐ€ ๋„์ €ํžˆ ๋‹ต๋‹ตํ•ด์„œ ๊ทธ๋ƒฅ ๋ฌด์ž‘์ • ๋งŒ๋“ค์–ด๋ณด์ž๋ฉฐ ์‹œ์ž‘ํ–ˆ๋‹ค. swift๋ž‘ ์กฐ๊ธˆ์ด๋ผ๋„ ์นœํ•ด์ง€๋ ค๋Š” ๋‚˜์˜ ๋…ธ๋ ฅ,,,์„ ๊นŒ๋จน์ง€ ์•Š๊ธฐ์œ„ํ•ด์„œ ์ ์–ด๋ณธ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ์—์„  ๋‹ค์Œ๊ณผ ๊ฐ™์€๊ฒƒ๋“ค์„ ๋‹ค๋ฃฌ๋‹ค. ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ๋ž‘ ์นœํ•ด์ง€๊ธฐ UIImagePickerController๋ฅผ ์ด์šฉํ•œ ์‚ฌ์ง„์ฒจ๋ถ€ CoreData๋ผ๋Š” Framework๋ฅผ ์‚ฌ์šฉํ•œ CRUD๊ตฌํ˜„ TableView, TableViewCell, ์ปค์Šคํ…€ ์…€์ด๋ž‘ ์–ด๋–ป๊ฒŒ๋“  ์นœํ•ด์ง€๊ธฐ 1. ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๋ž‘ ์นœํ•ด์ง€๊ธฐ Figma๋กœ ui๋””์ž์ธ ๋จผ์ € figma๋ผ๋Š” ๋””์ž์ธํˆด๋กœ ์•ฑ์˜ ์ƒ๊น€์ƒˆ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ui ์–ด๋–ป๊ฒŒ์งœ์ง€,,์•„์ดํŒจ๋“œ์— ๋Œ€์ถฉ ๊ทธ๋ ค์•ผํ•˜๋‚˜ ํ•˜๋˜์ค‘์— ์œ ํŠœ๋ธŒ ๋ณด๋‹ค๊ฐ€ ์šฐ์—ฐํžˆ ์•Œ๊ฒŒ๋๋Š”๋ฐ, ์ด๊ฑฐ๋ผ๋ฉด ๋‚˜๋„ ์“ธ์ˆ˜ ์žˆ๊ฒ ๋‹ค ์‹ถ์—ˆ๋‹ค...
[iOS/Swift] ๋ฉ”๋ชจ
ยท
learnings/Swift
๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.
[iOS/Swift] #0 ์Šค์œ„ํ”„ํŠธ, ๊ฐ€๋ณด์ž ๊ฐ€๋ณด์ž~
ยท
learnings/Swift
0. ์ฒซ๊ฑธ์Œ ์ปดํ“จํ„ฐ ๊ณตํ•™๊ณผ์— ๋“ค์–ด๊ฐ€๋ฉด ๋‹น์—ฐํžˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋ฐฐ์šด๋‹ค. ์–ธ์–ด๋Š” ํ•™๊ต๋งˆ๋‹ค ์ฐจ์ด๊ฐ€ ์žˆ์ง€๋งŒ, c๋ฅผ ์ฒซ ์‹œ์ž‘์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ๊ฐ์ฒด์ง€ํ–ฅ ๋“ฑ๋“ฑ.. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ดˆ์ ์ธ๊ฒƒ๋“ค์„ ๋ฐฐ์šด ํ›„์— ์ฝ”๋”ฉ์„ ํ•˜๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด์„œ, ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๊ฐœ๋ฐœ๊ณผ๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ์ ์  ๋ฉ€์–ด์ง€๋Š”๊ฒƒ์„ ๋А๋‚€๋‹ค.... ์—ฅ? ๊ต์ˆ˜๋‹˜ ๊ทผ๋ฐ ์ €๋Š”์š” ์ด๋Ÿฐ๊ฑฐ๋ง๊ตฌ ํ•ธ๋“œํฐ์ด๋‚˜ ์ปดํ“จํ„ฐ์—์„œ ์‹ค์ œ๋กœ ๊ตฌ๋™ํ•˜๋Š” GUI๊ธฐ๋ฐ˜์˜ ์˜ˆ์œ ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ๋งŒ๋“ค๊ณ  ์‹ถ์€๋ฐ์š”..? ์™œ ์–ด์ฐŒํ•˜์—ฌ ์ „๋ถ€ ์ƒˆ๊นŒ๋งŒ ์ฝ˜์†”์—์„œ ๋Œ์•„๊ฐ€๋Š”๊ฒƒ๋งŒ ๋ฐฐ์šฐ์ฃ ..? ์ €๋„ ์Šค๋งˆํŠธํฐ ์–ดํ”Œ๊ฐ™์€๊ฑฐ ๋งŒ๋“ค๊ณ ์‹ถ์–ด์š”! ์˜ˆ์œ๊ฑฐ! ๊น”๋”ํ•œ๊ฑฐ! ์žˆ์–ด๋ณด์ด๋Š”๊ฑฐ! (์ฝ˜์†”์ฐฝ์ด ์ œ์ผ๊น”๋”ํ•˜๋˜๋ฐ?๊ทผ๋ฐ๊ทธ๊ฑด๋„ˆ๋ฌด๊น”๋”ํ•˜์ž–์•„) ์–ด๋ฆผ๋„ ์—†์ง€. ํ•™๊ต์—์„œ ๊ฐ€๋ฅด์น˜๋Š”๊ฒƒ ๋งŒ์œผ๋กœ๋Š” ๊ทธ๋Ÿฐ๊ฑฐ ๋ชป๋งŒ๋“ ๋‹ค. ์ ์–ด๋„ ์šฐ๋ฆฌํ•™..