iOS ์•ฑ ๊ฐœ๋ฐœ ์ข…ํ•ฉ๋ฐ˜/TIL

5์ฃผ์ฐจ_iOS ์•ฑ ๊ฐœ๋ฐœ ์ž…๋ฌธ_2์ผ์ฐจ_ToDoList ์•ฑ ๋งŒ๋“ค๊ธฐ_์„ ํƒ ๊ตฌํ˜„

yeggrrr๐Ÿผ 2024. 3. 26. 20:43
728x90


<TIL>
์˜ค๋Š˜์€ Standard ๋ฐ˜ ๊ณผ์ œ๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค.

๋‚ด์ผ 4์‹œ ์ „๊นŒ์ง€ ์—ฐ์Šตํ•ด๋ด์•ผํ•ด์„œ
์šด๋™ ๋‹ค๋…€์™€์„œ ์˜ค๋Š˜ ๋ฐค์—๋„ ์ด์–ด์„œ ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค..^0^

์˜ค๋Š˜์€ ์ง€๋‚œ ๊ฒŒ์‹œ๊ธ€(TodoList ๋งŒ๋“ค๊ธฐ)์— ์ด์–ด์„œ
'์ˆ˜์ •ํ•˜๊ธฐ' ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  Standard ๋ฐ˜ ๊ณผ์ œ ๋‚ด์šฉ ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•  ์ƒ๊ฐ์ด๋‹ค.๐Ÿง



 

Todo ์ˆ˜์ •ํ•˜๊ธฐ

 

 

์ˆ˜์ •ํ•˜๊ธฐ ๊ธฐ๋Šฅ์€ ์ด์ „์— ๋“ฑ๋กํ•˜๊ธฐ์™€ ๊ฑฐ์˜ ๋™์ผํ•˜๋‹ค!

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ tableView ์ž…๋ ฅํ•ด์„œ
'Tells the delegate a row is selected.'๋ผ๊ณ  ์ ํ˜€์žˆ๋Š” ๊ฑฐ ์„ ํƒ!


์ด์ œ ์ฝ”๋“œ์— ๋„ฃ์€ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ค˜์•ผํ•œ๋‹ค.


์ด์ „์— ์ถ”๊ฐ€ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด, ๋“ฑ๋กํ•˜๊ธฐ alert ๋„์› ์„ ๋•Œ์™€ ๊ฑฐ์˜ ๋™์ผํ•˜๋‹ค.
๊ฐ€์ง€๊ณ ์™€์„œ ๋‚ด์šฉ๊ณผ ์ด๋ฆ„์„ ๋ฐ”๊ฟ”์ฃผ๊ณ ,
์ˆ˜์ •ํ•ด๋„ ์Šค์œ„์น˜ on/off ์ƒํƒœ๋Š” ๋ณ€ํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—
isOn: oldTodo.isOn์œผ๋กœ ์„ค์ •!

๊ทธ๋ฆฌ๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์ด๊ธฐ ๋•Œ๋ฌธ์— textField์—๋Š” ๋ˆŒ๋ €๋˜ ๋‚ด์šฉ์ด ์ ํ˜€์žˆ์–ด์•ผํ•˜๋ฏ€๋กœ

textField.text = oldTodo.title ํ•ด์ฃผ๊ธฐ!


๋งˆ์ง€๋ง‰์œผ๋กœ ์ฝ”๋“œ๋ž€์— ํ•ด๋‹น ํ•จ์ˆ˜๋ช…๊ณผ indexPath.row๋ฅผ ์ž…๋ ฅํ•ด์ฃผ๋ฉด ๋!



<์ˆ˜์ •ํ•˜๊ธฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ํ™”๋ฉด>

์ด๋ ‡๊ฒŒ ํ•ด๋‹น ์…€์„ ํด๋ฆญํ•˜๋ฉด, ์ˆ˜์ •ํ•˜๊ธฐ alert๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค!


Standard 1์ฃผ์ฐจ
์‚ฌ์ „ ๊ณผ์ œ


์‚ฌ์ „ ๊ณผ์ œ๋กœ ๋‚ด์ฃผ์‹  ๊ฑด ๋ฐ”๋กœ '์˜คํ† ๋ ˆ์ด์•„์›ƒ ์—ฐ์Šตํ•˜๊ธฐ'์ด๋‹ค.
storyboard ํ™œ์šฉํ•˜๋Š” ๊ฒŒ ์•„์ง ์ต์ˆ™ํ•˜์ง€ ์•Š๊ณ , ๋ชจ๋ฅด๋Š” ๊ธฐ๋Šฅ๋“ค์ด ๋งŽ์•„์„œ
๋ง‰์ƒ ํ•˜๋ ค๊ณ  ํ•˜๋‹ˆ ๋„ˆ๋ฌด ์–ด๋ ค์› ๋‹ค.

์ฒ˜์Œ์— ๋”ฑ ๋ดค์„ ๋•Œ, '์˜ค๋Š˜ ์•ˆ์— ๋‹ค ํ•˜๊ฒ ๋‹ค..ใ…Žใ…Ž' ์ƒ๊ฐํ–ˆ๋Š”๋ฐ,
๋‹ค ๋ชปํ•˜๊ณ  ์ด๋ ‡๊ฒŒ TIL ์ž‘์„ฑํ•  ์‹œ๊ฐ„์ด ๋๋‹ค..๐Ÿ˜‚

์˜ค๋Š˜ ์ƒˆ๋ฒฝ์ด๋ž‘ ๋‚ด์ผ ์˜คํ›„ 4์‹œ ์ˆ˜์—… ์ „๊นŒ์ง€ ํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐ๊นŒ์ง€ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค!


์œ„ ์‚ฌ์ง„์€ ์‹ค์ œ ๊ตฌํ˜„ ์˜ˆ์‹œ์ด๋‹ค.

ํŠœํ„ฐ๋‹˜๊ป˜์„œ ์ •ํ•ด์ฃผ์‹  ์š”๊ตฌ์‚ฌํ•ญ์€

โ‘  ์ฒซ ์„น์…˜์— ์žˆ๋Š” ๋‚ด ์‡ผํ•‘, ๊ณ ์–‘์ด ๋ถ€๋ถ„์„ ๋งŒ๋“ค๊ธฐ
(์ด๋ฏธ์ง€ ๋น„์œจ 1:1, ๋””๋ฐ”์ด์Šค ๊ฐ€๋กœ ์ •์ค‘์•™ ๊ธฐ์ค€์œผ๋กœ ํฌ๊ธฐ ์ผ์น˜ํ•˜๊ฒŒ ์ •๋ ฌํ•˜๊ธฐ)

โ‘ก
๋‘๋ฒˆ์งธ ์„น์…˜์—์„œ๋Š” 3๊ฐ€์ง€ ์š”์†Œ๋“ค์˜ ํฌ๊ธฐ๊ฐ€ ๋˜‘๊ฐ™์€ ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค๋ฉด ์ข‹์„์ง€ ๋จผ์ € ๊ณ ๋ฏผํ•ด๋ณด๊ธฐ
(stackView ํ•™์Šตํ•ด๋ณด๊ธฐ)

โ‘ข ์„ธ๋ฒˆ์งธ ์„น์…˜์€ imageview, label, button์„ ํ™œ์šฉํ•ด ๊ตฌ์„ฑํ•ด๋ณด๊ธฐ
(label๋“ค trailing ์žก์•„์ฃผ๊ธฐ, ์ถ”๊ฐ€์ ์œผ๋กœ hugging๊ณผ compression์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๊ธฐ)

โ‘ฃ 
๋งˆ์ง€๋ง‰์œผ๋กœ ๊ฒ€์ƒ‰๊ณผ ์นดํ…Œ๊ณ ๋ฆฌ ๋ฒ„ํŠผ 2๊ฐœ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ธฐ
(๊ฒ€์ƒ‰ ๋ฒ„ํŠผ์˜ width๊ฐ€ ํ•ญ์ƒ ์นดํ…Œ๊ณ ๋ฆฌ ๋ฒ„ํŠผ์˜ width์˜ ๋‘๋ฐฐ๊ฐ€ ๋˜๋„๋ก ํ•˜๊ธฐ)

์ด๋ ‡๊ฒŒ ์ด 4๊ฐ€์ง€์ด๋‹ค!


์ด๊ฑด.. ํ˜„์žฌ ์ง„ํ–‰ ์ƒํ™ฉ..ใ…Žใ…Žใ…Ž..ใ…‹ใ…‹ใ…‹..
ํ™”์ดํŒ…..โœŠ๐Ÿป

์ด๋ฒˆ 1์ฃผ์ฐจ ๊ณผ์ œ ๊ด€๋ จํ•ด์„œ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ๊ณผ ๊ฒฐ๊ณผ๋ฌผ์€
๋‹ค์Œ TIL์—์„œ ์ž‘์„ฑํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค! โ˜บ๏ธ


 

728x90