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

๊ฐœ์ธ๊ณผ์ œ_์ฑ… ๊ฒ€์ƒ‰ ์•ฑ ๋งŒ๋“ค๊ธฐ_TIL

์˜ค๋Š˜ ๊ฐœ์ธ๊ณผ์ œ๋ฅผ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ,ํ•ญ์ƒ Storyboard๋งŒ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ์ฝ”๋“œ๋กœ๋งŒ UI๋ฅผ ์งœ๋ ค๊ณ  ํ•˜๋‹ˆ.. ๋„ˆ๋ฌด ์–ด๋ ต๋‹คใ…œใ…œ์›๋ž˜ ์ฝ”๋“œ๋กœ ํ•˜๋Š”๊ฒŒ ์ต์ˆ™ํ•ด์ง€๋ฉด, ๋” ์‰ฝ๋‹ค๊ณ  ๊ทธ๋Ÿฌ๋˜๋ฐ.. ์•„์ง์€ ๋ญ๊ฐ€ ๋ญ”์ง€.. ์ •์‹ ์ด ์—†๋‹ค.์ผ๋‹จ, ์˜ค๋Š˜์€ tabBar๋กœ ๊ฒ€์ƒ‰ ํ™”๋ฉด์ด๋ž‘ ์ฐœ ๋ฆฌ์ŠคํŠธ ํ™”๋ฉด ๋‘ ๊ฐœ ์—ฐ๊ฒฐํ•˜๊ณ , ๊ฒ€์ƒ‰ ํ™”๋ฉด์— SearchBar์™€ TableView๋ฅผ ๋„ฃ์—ˆ๋‹ค.UI๋ฅผ ์–ผ๋ฅธ ์™„์„ฑํ•ด์•ผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š”๋ฐ.. ์•„์ง ๊ฐˆ๊ธธ์ด ๋ฉ€๋‹ค.์ผ๋‹จ ์˜ค๋Š˜๊นŒ์ง€ UI ์–ด๋Š์ •๋„ ์™„์„ฑํ•˜๊ณ ,๋‚ด์ผ ์˜คํ›„์—” ๋๋‚ด๊ณ  ์‹ถ๋‹ค๐Ÿฅน์˜ค๋Š˜ ์˜คํ›„์—๋Š” Standard๋ฐ˜ ์ˆ˜์—…์ด ์žˆ์—ˆ๋Š”๋ฐ,๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์— ๋Œ€ํ•ด์„œ ๊ฐ•์˜ํ•ด์ฃผ์…จ๋‹ค.URLSession์€ ์กฐ๊ธˆ ์ต์ˆ™ํ•ด์„œ ๋Œ€๋ถ€๋ถ„ ์•Œ๊ณ  ์žˆ๋˜ ๋‚ด์šฉ์ด์—ˆ์ง€๋งŒ,๋“ค์œผ๋ฉด์„œ ์ฒ˜์Œ ์•Œ๊ฒŒ๋œ ๋ถ€๋ถ„๋“ค์ด ์žˆ์–ด์„œ ์žฌ๋ฐŒ์—ˆ๋‹ค.(QuickType.io, Insomnia, Codi..

8์ฃผ์ฐจ_5์ผ์ฐจ_์•ฑ ๊ฐœ๋ฐœ ์‹ฌํ™”_TodoList ์•ฑ ์ฝ”๋“œ๋กœ ๋งŒ๋“ค๊ธฐ_TIL

์ „์ฒด์ ์ธ ์ฝ”๋“œ๋Š” ์ด์ „์— ์ •๋ฆฌํ–ˆ์—ˆ๋˜,TodoList ์•ฑ ๋งŒ๋“ค๊ธฐ์™€ ๋™์ผํ•˜๋‹ค!์˜ค๋Š˜์€ TodoList ๋งŒ๋“ค๊ธฐ ๊ฐœ์ธ๊ณผ์ œ ๊ตฌํ˜„ ๊ณผ์ •์„ ์ฐจ๊ทผ์ฐจ๊ทผ ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค.โ˜บ๏ธ์ด์ „์— ์ผ๋˜ ์ฝ”๋“œ ๋‹ค์Œ ๋‚  ๊นŒ๋จน๊ณ ..๋‹ค์‹œ ๋‡Œ ๋ฆฌ์…‹^-^ ํ•˜๋ฃจ ์ข…์ผ ๋ฉ˜ํƒˆ ๋ฐ”์‚ฌ์‚ฌ์‚ญ๐Ÿ’ช๐Ÿป๋‹ค์‹œ ์ฐจ๊ทผ์ฐจ๊ทผ ์‹œ์ž‘..!^^์—ญ์‹œ " data-og-host="yegenie-coding.tistory.com" data-og-source-url="https://yegenie-coding.tistory.com/73" data-og-url="https://yegenie-coding.tistory.com/73" data-og-image="https://scrap.kakaocdn.net/dn/bLzmWs/hyV2BB0y25/3nCRV7KQzk5JU4AT5nNdp1/img...

8์ฃผ์ฐจ_3์ผ์ฐจ_์•ฑ ๊ฐœ๋ฐœ ์‹ฌํ™”_๋™์˜์ƒ ์•ฑ ๋งŒ๋“ค๊ธฐ_TIL

์˜ค๋Š˜์€ ๋™์˜์ƒ ์•ฑ ๋งŒ๋“ค๊ธฐ ์‹ค์Šต์„ ํ•ด๋ดค๋‹ค.๋‚ฎ์—๋Š” ๊ฐ•์˜๋ณด๋ฉด์„œ ๊ณต๋ถ€ํ•˜๊ณ ,์˜คํ›„์—๋Š” ํ•ด์„ค๊ฐ•์˜ ๋ณด๊ธฐ ์ „์— ๋จผ์ € ๋งŒ๋“ค์–ด๋ดค๋‹ค.4์‹œ์— Standard๋ฐ˜ ์ˆ˜์—…์„ ๋“ฃ๊ณ ,์ €๋… ํšŒ์˜ ์ „๊นŒ์ง€ ๋™์˜์ƒ ์žฌ์ƒ ์•ฑ ๋งˆ๋ฌด๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค.(์Šคํƒ ๋‹ค๋“œ๋ฐ˜ ์ปฌ๋ ‰์…˜ ๋ทฐ ์—ฐ์Šต์€ ๋‚ด์ผ ํ•  ์˜ˆ์ •)์ง€๋‚œ ํŒ€ ํ”„๋กœ์ ํŠธ ๋•Œ,๊ฒ€์ƒ‰ ํŽ˜์ด์ง€๋ฅผ ๋งก์œผ๋ฉด์„œ URLSession์„ ์‚ฌ์šฉํ–ˆ์–ด์„œํฌ๊ฒŒ ์–ด๋ ต์ง€๋Š” ์•Š์•˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค.(์˜ค๋Š˜์˜ ๋ฐ”๋ณด ์ฐ ํ•˜๋‚˜ ์žˆ์Œ ใ…‹.ใ…‹)๋‚ด์ผ์€ iOS ์•ฑ ๊ฐœ๋ฐœ ์‹ฌํ™” ๊ฐ•์˜ ์ •๋ฆฌํ•˜๊ณ ,์˜ค๋Š˜์€ ๋™์˜์ƒ ์•ฑ ๋งŒ๋“ค๊ธฐ ๋‚ด์šฉ ์ •๋ฆฌ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.AVKit์„ ์‚ฌ์šฉํ•ด์„œ๋™์˜์ƒ ์žฌ์ƒ ์•ฑ ๋งŒ๋“ค๊ธฐ ์ด๋ฒˆ ์‹ฌํ™”๊ฐ•์˜ ๋งˆ๋ฌด๋ฆฌ ๊ณผ์ œ(?)์š”๊ตฌ์‚ฌํ•ญ์„ README์— ์ •๋ฆฌํ•ด๋ดค๋‹ค.(https://github.com/yeggrrr/YeggrrrAVPlayerApp) [GET]https:..

7์ฃผ์ฐจ_5์ผ์ฐจ_์•ฑ ๊ฐœ๋ฐœ ์ˆ™๋ จ_Closure(ํด๋กœ์ €)_๊ฐœ์ธ๊ณต๋ถ€_TIL

TIL>์˜ค๋Š˜์€ ํด๋กœ์ €์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•ด๋ดค๋‹ค.์ด์ „์— ๊ณต๋ถ€ํ–ˆ์—ˆ๋Š”๋ฐ, ํ™•์‹คํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ„๊ฒŒ ์•„๋‹ˆ๋ผ์„œ ๋ง‰์ƒ ํด๋กœ์ €์— ๋Œ€ํ•ด์„œ ๋ง๋กœ ์„ค๋ช…ํ•˜๋ ค๊ณ  ๋ณด๋‹ˆ๊นŒ๋จน์€ ๊ฒƒ ๊ฐ™์•˜๋‹ค.(๊ณผ๊ฑฐ ํด๋กœ์ € ์ •๋ฆฌํ–ˆ๋˜ ๋‚ด ์ž์‹ .. ๋ฐ”๋ณด์ธ๊ฐ€(?) ๋ง๋”ํžˆ ์žŠ์–ด๋ฒ„๋ฆผ) 3์ฃผ์ฐจ_Swift ๋ฌธ๋ฒ•์ข…ํ•ฉ๋ฐ˜ ์‹ฌํ™”_(2์ผ์ฐจ)_ํด๋กœ์ € & ๊ณ ์ฐจํ•จ์ˆ˜์˜ค๋Š˜์€ ์‹ฌํ™” ๊ฐ•์˜๋ฅผ ๋‹ค ๋“ค์—ˆ๋Š”๋ฐ, ์—ญ์‹œ๋‚˜ ๋ฉ˜๋ถ•..๐Ÿคฏ ํ›… ์–ด๋ ค์›Œ์ง„ ๋Š๋‚Œ..? ๊ทธ๋ž˜๋„ ์–ด์ œ ์ดํ•ด ์•ˆ ๋œ ํด๋กœ์ €๊ฐ€ ์˜ค๋Š˜์€ ๊ท€์— ์ข€ ๋“ค์–ด์™€์„œ ๋‹คํ–‰์ด์—ˆ๋‹ค. ์—ญ์‹œ ๋ฌด์ง€์„ฑ์œผ๋กœ ๊ณ„์† ๋ณด๋ฉด ์ข€ ๋‚˜์•„์ง€๋Š” ๊ฒƒ ๊ฐ™์€.yegenie-coding.tistory.com..ใ…Žใ…Žใ…Žใ…Žใ…Ž!!!!์˜ค๋Š˜์€ ํด๋กœ์ €์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•˜๊ณ !!๐Ÿ˜€์ฃผ๋ง์—๋Š”โœ”๏ธ๊ณ ์ฐจํ•จ์ˆ˜(map, filter, reduce) _2024.04.21(์ž‘์„ฑ์™„๋ฃŒ)โœ”๏ธEscaping Closure _..

7์ฃผ์ฐจ_4์ผ์ฐจ_์•ฑ ๊ฐœ๋ฐœ ์ˆ™๋ จ_๊ฐœ์ธ๊ณต๋ถ€_TIL

์˜ค๋Š˜์€ ๊ณผ์ œ ์ œ์ถœํ•  ๋•Œ ํ•จ๊ป˜ ์ž‘์„ฑํ•ด์•ผํ•˜๋Š” ๊ธฐ์ˆ  ์งˆ๋ฌธ๋“ค ์ •๋ฆฌํ•ด์„œ ์ œ์ถœํ–ˆ๋‹ค. (๊ฐœ์ธ๊ณผ์ œ ๋!! - ์œ„์‹œ ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ์— ๋Œ€ํ•ด์„œ๋Š” ์ถ”ํ›„์— ์ •๋ฆฌ ์˜ˆ์ •) ์ดํ›„ ์•„๋ž˜ 7๊ฐ€์ง€์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค. 1. Class ์™€ Struct 2. override์™€ overload / overriding๊ณผ overloading 3. mutating ํ‚ค์›Œ๋“œ 4. final 5. Escaping Closure 6. protocol 7. Eqautable ์–ด๋””์„ ๊ฐ€ ๋“ค์—ˆ๊ฑฐ๋‚˜ ์•Œ๊ณ ๋Š” ์žˆ์ง€๋งŒ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ ๋‚ด์šฉ๋“ค ํ˜น์€ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ฒ˜์Œ ๋ณด๋Š” ๊ฒƒ๋“ค์ด๋‹ค. ์ด ๋ฐ–์—๋„ ๋‹ค์–‘ํ•˜์ง€๋งŒ ์˜ค๋Š˜์€ ์œ„์— 7๊ฐ€์ง€์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. Class / Struct Class์™€ Struct์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž! Class์™€ Struct๋Š” ๊ฐ์ œ ..

7์ฃผ์ฐจ_2์ผ์ฐจ_์•ฑ ๊ฐœ๋ฐœ ์ˆ™๋ จ_ScrollView & Pull to Refresh_TIL

์–ด์ œ๋Š” ์œ„์‹œ ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ ๊ฐœ์ธ๊ณผ์ œ ํ•„์ˆ˜ ๊ตฌํ˜„๊นŒ์ง€ ๋งŒ๋“ค์–ด๋ณด๊ณ , ์˜ค๋Š˜์€ ์ถ”๊ฐ€ ๊ตฌํ˜„ ์‹œ๋„ํ•ด๋ดค๋‹ค. ์ถ”๊ฐ€๊ตฌํ˜„์œผ๋กœ ์œ„์‹œ ๋ฆฌ์ŠคํŠธ ์‚ญ์ œ, ๋‹น๊ฒจ์„œ ์ƒˆ๋กœ๊ณ ์นจ ๊ตฌํ˜„์ด ์žˆ์—ˆ๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ ์œ„์‹œ๋ฆฌ์ŠคํŠธ์— ๋‹ด๊ธฐ ๋ฒ„ํŠผ์„ ํด๋ฆญํ–ˆ์„ ๋•Œ, alert๊ฐ€ ๋œฐ ์ˆ˜ ์žˆ๋„๋ก ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ„์‹œ๋ฆฌ์ŠคํŠธ์—์„œ ํ•ด๋‹น ์ƒํ’ˆ์„ ์‚ญ์ œ๋ฅผ ํ•œ ํ›„, ์•ฑ์„ ์ข…๋ฃŒํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ํ‚ค๋ฉด ๊ทธ๋Œ€๋กœ ๋‹ค์‹œ ๋˜๋Œ์•„๊ฐ€์žˆ๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. (๋‚ด๊ฐ€ ๋ฐ”๋ณด์˜€์Œ.. ๐Ÿ˜…์ฝ”์–ด๋ฐ์ดํ„ฐ๋กœ ๋ฐ์ดํ„ฐ ์ €์žฅํ•ด๋†“๊ณ , ์ฝ”์–ด๋ฐ์ดํ„ฐ์—์„œ ์‚ญ์ œ๋Š” ์•ˆํ•ด์„œ ์ƒ๊ธด ๋ฌธ์ œ) ๊ทธ๋ž˜์„œ ๋ฐ์ดํ„ฐ์—์„œ ์‚ญ์ œํ•˜๋Š” delete function์„ ๋งŒ๋“  ํ›„, ์…€์ด ์‚ญ์ œ๋œ ์ดํ›„์— ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝํ•ด์ฃผ์—ˆ๋‹ค. ์˜ค๋Š˜ Lv4 '์œ„์‹œ๋ฆฌ์ŠคํŠธ ์‚ญ์ œ'๋Š” ์™„๋ฃŒ! ์ด์–ด์„œ Lv5 '๋‹น๊ฒจ์„œ ์ƒˆ๋กœ๊ณ ์นจ'์„ ๊ตฌํ˜„ํ•˜๋‹ค๊ฐ€ scrollView์—์„œ ์˜คํ† ๋ ˆ์ด์•„์›ƒ ์žก๋Š”๋ฐ ์–ด๋ ค์›€์ด ์žˆ..

7์ฃผ์ฐจ_iOS ์•ฑ ๊ฐœ๋ฐœ ์ˆ™๋ จ_3~4์ผ์ฐจ_Standard๋ฐ˜ AutoLayout_TIL

์–ด์ œ๋Š” ๊ตญํšŒ์˜์› ์„ ๊ฑฐ์ผ์ด๋ผ ๋‚ด๋ฐฐ์บ  ์‰ฌ๋Š” ๋‚ ์ด์—ˆ๋‹ค.๐Ÿ˜ƒ (3~4์ผ์ฐจ ๋ผ๊ณ  ์ œ๋ชฉ ์ ์€ ์ด์œ ) ์ด๋ฒˆ ์ฃผ์ฐจ ๊ฐœ์ธ๊ณผ์ œ '์œ„์‹œ ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ'๋Š” ์ง€๋‚œ ๊ฒŒ์‹œ๊ธ€์— ์˜ฌ๋ฆฐ ๋‚ด์šฉ์—์„œ ์•„์ง ์ถ”๊ฐ€์ ์ธ ๊ณต๋ถ€๋Š” ๋ชปํ–ˆ๋‹ค. (๋‚ด์ผ ์ด์–ด์„œ ํ•  ์˜ˆ์ •!!) ์ˆ˜์š”์ผ์— ์›๋ž˜ ์žˆ๋˜ ์Šคํƒ ๋‹ค๋“œ๋ฐ˜ ์ˆ˜์—…์ด ๋ชฉ์š”์ผ๋กœ ์˜ฎ๊ฒจ์ ธ์„œ ์˜ค๋Š˜์€ ์Šคํƒ ๋‹ค๋“œ๋ฐ˜ ์‚ฌ์ „๊ณผ์ œ๋ฅผ ํ–ˆ๋‹ค. ์‚ฌ์ „๊ณผ์ œ๋Š” 1์ฃผ์ฐจ๋•Œ ์ง„ํ–‰ํ–ˆ๋˜ ์˜คํ† ๋ ˆ์ด์•„์›ƒ ์žก๊ธฐ์˜€๋‹ค. ์‚ฌ์ „๊ณผ์ œ๋Š” ์ˆ˜์—… ์ „์— ๋‹ค ์™„๋ฃŒํ•ด์„œ, ์ˆ˜์—…์„ ๋“ค์œผ๋ฉด์„œ ํ•œ ๋ฒˆ ๋” ๋ณต์Šตํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ˆ˜์—…์ด ๋๋‚˜๊ณ ๋‚˜์„œ ํ•ด๋‹น ์…€์„ ํ…Œ์ด๋ธ”๋ทฐ์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ๋นŒ๋“œ ํ›„ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ๋ ˆ์ด์•„์›ƒ์ด ๋ง๊ฐ€์ง€๋Š” ๋ถ€๋ถ„์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ๋‹ค! ๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ ์•ฑ์— ์žˆ๋Š” ํƒญ๋ฐ”๋ฅผ ์ถ”๊ฐ€ํ•ด๋ดค๋‹ค. ์šฐ์„ , ์•„๋ž˜์— ์‚ฌ์ „๊ณผ์ œ ๋‚ด์šฉ์„ ์ ์€ ํ›„ ์ง์ ‘ ์‹ค์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•  ์˜ˆ์ •์ด๋‹ค! Standard๋ฐ˜ 3..

7์ฃผ์ฐจ_iOS ์•ฑ ๊ฐœ๋ฐœ ์ˆ™๋ จ_2์ผ์ฐจ_TIL

์–ด์ œ ํ”„๋กœ์ ํŠธ ๋ฐœํ‘œํšŒ๊ฐ€ ๋๋‚˜๊ณ , ๊ธฐ์กด ํŒ€์›๋“ค๊ณผ ๋งˆ์ง€๋ง‰ ํšŒ๊ณ ๋ฅผ ํ–ˆ๋‹ค. ์˜ค๋Š˜์€ ์ƒˆ๋กœ์šด ์ฃผ์ฐจ ๋ฐœ์ œ๋ฅผ ์ง„ํ–‰ํ–ˆ๊ณ , ์ƒˆ๋กœ์šด ํŒ€์›๋“ค๊ณผ 7์ฃผ์ฐจ 'iOS ์•ฑ ๊ฐœ๋ฐœ ์ˆ™๋ จ'์„ ํ•จ๊ป˜ํ–ˆ๋‹ค. ์ด์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 2์ฃผ๊ฐ„ ๊ฐ•์˜์‹œ์ฒญ & ๊ฐœ์ธ๊ณผ์ œ & ๊ฐœ์ธ๊ณต๋ถ€๋ฅผ ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ–๊ณ , ๋งˆ์ง€๋ง‰ 1์ฃผ์ผ๋™์•ˆ '์ฃผํŠน๊ธฐ ์ˆ™๋ จ ํŒ€ ํ”„๋กœ์ ํŠธ'๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. ์˜ค๋Š˜ ๋“ค์—ˆ๋˜ ๊ฐ•์˜ ๋‚ด์šฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. - ๋ฉ”๋ชจ๋ฆฌ ARC - ๋„คํŠธ์›Œํฌ ํ†ต์‹  - ๋‚ด๋ถ€ ์ €์žฅ์†Œ - ํ™”๋ฉด ์ „ํ™˜ํ•˜๊ธฐ - ์œ„์‹œ๋ฆฌ์ŠคํŠธ ์•ฑ ๋งŒ๋“ค๊ธฐ ๊ฐ•์˜ ์‹œ์ฒญ์€ ๋ชจ๋‘ ๋๋‚ธ ์ƒํƒœ๊ณ , ์œ„์‹œ๋ฆฌ์ŠคํŠธ ์•ฑ ๋งŒ๋“ค๊ธฐ๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. CoreData๋ฅผ ์ฒ˜์Œ ์ ‘ํ•ด์„œ ์•„์ง ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์–ด๋ ค์› ๋‹ค. ํ•œ๋ฒˆ์”ฉ ์ณ๋ณด๋‹ˆ, ์—ญ์‹œ ๋งŽ์ด ์‚ฌ์šฉํ•ด๋ณด๋ฉด์„œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฐ›์•„๋“ค์—ฌ์•ผํ•  ๊ฒƒ ๊ฐ™์€ ๋Š๋‚Œ..ใ…Žใ…Ž ์˜ค๋Š˜ ๊ณ„ํš์€ ์›๋ž˜ ์ €๋…์— ์Šคํƒ ๋‹ค๋“œ๋ฐ˜ ์‚ฌ์ „๊ณผ์ œ๋ฅผ ํ•  ์ƒ๊ฐ์ด์—ˆ๋Š”๋ฐ, ..

7์ฃผ์ฐจ_ํ‚ค์˜ค์Šคํฌ ๋งŒ๋“ค๊ธฐ_1์ผ์ฐจ_์ฒซ ํŒ€ ํ”„๋กœ์ ํŠธ ๋งˆ๋ฌด๋ฆฌ_TIL

๋งค์ผ ๋น ์ง์—†์ด ๋ธ”๋กœ๊ทธ ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ–ˆ๋˜ ๋‚ด๊ฐ€ ์ง€๋‚œ ์ผ์ฃผ์ผ๊ฐ„ ๋ชป ์˜ฌ๋ฆฐ ์ด์œ ๋Š”.. ํŒ€ ํ”„๋กœ์ ํŠธ ํ•˜๋Š๋ผ!!!๐Ÿฅน ์‚ฌ์‹ค ํ”„๋กœ์ ํŠธ ์ค€๋น„ํ•˜๋ฉด์„œ TIL ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ, ๋งˆ์Œ์˜ ์—ฌ์œ ๊ฐ€ ์—†์—ˆ๋‹ค..ใ…œ 09:00-21:00 [12์‹œ๊ฐ„] ๋‚ด๋ฐฐ์บ  ์ฐธ์—ฌํ•˜๊ณ , 22:00-23:30 ์šด๋™ ๋‹ค๋…€์˜ค๊ณ , ์ƒํ™œ ํŒจํ„ด์ด ๋Š˜ ๊ณ ์ •๋˜์–ด์žˆ์—ˆ๋Š”๋ฐ.. ์šด๋™์€ ํฌ๊ธฐํ•˜๊ณ , ํŒ€ํ”Œ์—๋งŒ ์ง‘์ค‘ํ–ˆ๋‹ค! ์•„๋ฌด๋ž˜๋„ ์ •ํ•ด์ง„ ์‹œ๊ฐ„ ์•ˆ์— ํ•ด์•ผํ•˜๋Š” ์ผ์ด ๋”ฑ ์ •ํ•ด์ ธ์žˆ์–ด์„œ ํŒ€์—๊ฒŒ ๋ฏผํ๋ฅผ ๋ผ์น˜๊ณ  ์‹ถ์ง€ ์•Š์•„์„œ ๋ฐค๋„ ์ƒˆ๊ณ .. ์ž ๋„ ์ค„์—ฌ๊ฐ€๋ฉฐ ์ค€๋น„ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ํŒ€์›๋ถ„๋“ค ๋ชจ๋‘ ์ž˜ํ•ด์ฃผ์‹  ๋•๋ถ„์— ๋ชฉ์š”์ผ์— ์–ด๋Š์ •๋„ ๋งˆ๋ฌด๋ฆฌ๊ฐ€ ๋๊ณ , ๊ธˆ์š”์ผ์—๋Š” ์—ฌ์œ ๋กญ๊ฒŒ ๋ฐœํ‘œ์ค€๋น„๊ณผ ๊ฐœ์ธ๊ณต๋ถ€๋ฅผ ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค. ์ด๋ฒˆ ํŒ€ ํ”„๋กœ์ ํŠธ ์ฃผ์ œ๋Š” 'ํ‚ค์˜ค์Šคํฌ ๋งŒ๋“ค๊ธฐ'์˜€๋‹ค. ์šฐ๋ฆฌ ํŒ€์€ ํ–„๋ฒ„๊ฑฐ๋ฅผ ์ฃผ์ œ๋กœ ํ‚ค์˜ค์Šคํฌ ์•ฑ์„ ๋งŒ๋“ค์–ด๋ดค..

5์ฃผ์ฐจ_iOS ์•ฑ ๊ฐœ๋ฐœ ์ž…๋ฌธ_5์ผ์ฐจ_ํ•ด์„ค๊ฐ•์˜ & Auto Layout ์—ฐ์Šต

์˜ค๋Š˜์€ todoList ๋งŒ๋“ค๊ธฐ ๊ฐœ์ธ๊ณผ์ œ ์ œ์ถœํ•˜๋Š” ๋‚ ์ด๋‹ค. ์ œ์ถœ ํ›„, ํ”ผ๋“œ๋ฐฑ๊นŒ์ง€ ๋ชจ๋‘ ๋ฐ›์€ ์ƒํƒœ๊ณ , ํ”ผ๋“œ๋ฐฑ ์ˆ˜์ •์€ ๋‚ด์ผ ํ•  ์˜ˆ์ •์ด๋‹ค.๐Ÿ˜€ ์˜คํ›„์—๋Š” ํ•ด์„ค ๊ฐ•์˜๋ฅผ ๋“ค์€ ํ›„, ์˜คํ† ๋ ˆ์ด์•„์›ƒ ์—ฐ์Šต์„ ํ–ˆ๋‹ค. ๊ด€๋ จ ๋‚ด์šฉ์€ ๋ฐ‘์— ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ํ•ด์„ค๊ฐ•์˜๊ฐ€ ์˜ฌ๋ผ์™”๋Š”๋ฐ, ์—ญ์‹œ ๋˜ ๋‹ค๋ฅธ ํ’€์ด๋กœ ํ•ด์ฃผ์…”์„œ ํ•œ ๋ฒˆ ๋” ๋ณด๊ณ  ๊ณต๋ถ€ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. โ‘  ์™„๋ฃŒ ๊ฐ€๋กœ์„ (strikeThrough) ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ทธ๋ƒฅ viewContoller ํด๋ž˜์Šค ์•ˆ์— ๋„ฃ์–ด์„œ ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ, ์–ด๋””์„œ๋“  ์“ธ ์ˆ˜ ์žˆ๋„๋ก String์˜ extension์œผ๋กœ ๋นผ๊ธฐ โ‘ก ์ถ”๊ฐ€ํ•˜๊ธฐ, ์ˆ˜์ •ํ•˜๊ธฐ IBAction์—์„œ newTodo๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ , self.todoList[row].title = newTitle๋กœ ํ•ด์„œ ์ฝ”๋“œ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ โ‘ข cellForRowAt ์•ˆ..