TIL

ยท๐ŸŒฑ SeSAC
๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”/ํƒญ ๋ฐ” bottom/top ๋ผ์ธ ๋””ํดํŠธ๋กœ ์ œ๊ณต๋˜๋Š” ์†์„ฑ์€ ์—†๋‹ค. ์ปค์Šคํ…€ ํ•ด์•ผ ํ•จ. ํ™”๋ฉด ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ๋‹จ์ˆœํžˆ 2๊ฐœ๋งŒ ๋ถ„๊ธฐ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ๊ฐ’ ์ „๋‹ฌ๋กœ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ. ์žฌ์‚ฌ์šฉ๋˜๋Š” ํ™”๋ฉด์ด ๋งŽ์•„ ์ง„๋‹ค๋ฉด ์—ด๊ฑฐํ˜•์„ ์‚ฌ์šฉํ•ด์„œ ์ข€ ๋” ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์Œ. ๋„ค๋น„๊ฒŒ์ด์…˜ ํƒ€์ดํ‹€ ์ปค์Šคํ…€ ํ•˜๋‚˜๋งŒ ํƒํ•ด๋ผ. ์• ํ”Œ ๊ฐ€์ด๋“œ๋ฅผ ์ง€ํ‚ค๊ฑฐ๋‚˜, ์•„์˜ˆ ์ƒˆ๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜! ์• ํ”Œ์˜ ์‹œ์Šคํ…œ ํ˜•ํƒœ ๊ทธ๋Œ€๋กœ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์ปค์Šคํ…€์ด ์‚ฌ์‹ค์ƒ ์–ด๋ ค์›€. ์ปค์Šคํ…€ ์˜์—ญ์€ UIView๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๋‹ค ๋ฐ”๊พผ ๊ฒƒ์ด๋ผ๊ณ  ๋ณด์•„๋„ ๋ฌด๋ฐฉ. Navigation Title ๋ถ€๋ถ„์„ UIView๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Œ titleView ํ”„๋กœํผํ‹ฐ ์ด์šฉ ๋ผ๋ฒจ์— inset ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ํ…์ŠคํŠธ ์ขŒ์šฐ์— ์—ฌ๋ฐฑ์„ ๋„ฃ์–ด์„œ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ ๊ธ€์ž ์ˆ˜์˜ ๋ฒ”์œ„๊ฐ€ ๊ณ ์ •์ ์ด๊ฑฐ๋‚˜ ์ผ์ •ํ•˜๋‹ค๋ฉด Co..
ยท๐ŸŒฑ SeSAC
App Bundle, ipa .app bundle ์•ฑ ๋ฒˆ๋“ค์„ ์ด์šฉํ•œ ๋นŒ๋“œ์— ๋Œ€ํ•ด์„œ ์ง„์ž‘์— ์•Œ์•˜๋‹ค๋ฉด ์–ด๋• ์„๊นŒ? ์ด์ „์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์šด๋ฐ›์•„์„œ ์‚ฌ์šฉ์„ฑ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด์•ผ ํ•˜๋Š” ์ผ์ด ์žˆ์—ˆ๋Š”๋ฐ ํ”„๋กœ์ ํŠธ ํŒจํ‚ค์ง€ ์ธ๋ฑ์‹ฑ์„ ํ•˜๋Š” ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ ค์„œ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ๋ฐ˜๋‚˜์ ˆ ์ด์ƒ ์‹œ๊ฐ„์„ ์ผ๋˜ ๊ธฐ์–ต์ด ์žˆ๋‹ค. ๋นŒ๋“œ๊ฐ€ ๋˜๋Š” ์•ฑ ๋ฒˆ๋“ค์„ ๋ฐ›์•˜๋‹ค๋ฉด ์ข‹์•˜์„ํ…๋ฐ.. ๋ˆˆ๋ฌผ์ด ๋‚œ๋‹ค. .ipa iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„์นด์ด๋ธŒ ํŒŒ์ผ ๊ณ„์ •์ด ๋ถ™์–ด ์žˆ์Œ. Build ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ(Option) ์‹ค์ œ ๊ธฐ๊ธฐ(๊ฐœ๋ฐœ์ž ๊ณ„์ • ํ•„์š”) Debug mode : ๊ฐœ๋ฐœ์šฉ Release mode : ์ถœ์‹œ Xcode ๋‹จ์ถ•ํ‚ค ๋‹จ์ถ•ํ‚ค๋Š” ์‹œ๊ฐ„๋‚  ๋•Œ ์ •๋ฆฌํ•ด์„œ ๋Œ์•„์™€์•ผ์ง€ option + cmd + [ , ] : ์ฝ”๋“œ ๋ธ”๋Ÿญ ์ด๋™ shift + control + ํด๋ฆญ : ๋‹ค..
ยท๐ŸŒฑ SeSAC
ํ™”๋ฉด ์ „ํ™˜์—์„œ ํ—ท๊ฐˆ๋ฆด๋งŒํ•œ ์ง€์  ๋„ค๋น„๊ฒŒ์ด์…˜ ์Šคํƒ ๊ด€๋ฆฌ (์ฝ”๋“œ๋กœ ํ™”๋ฉด ์ „ํ™˜์„ ๊ตฌํ˜„ํ•  ๋•Œ ๋†“์น˜๊ธฐ ์‰ฝ๋‹ค.) ๋„ค๋น„๊ฒŒ์ด์…˜ ์Šคํƒ์œผ๋กœ ๊ด€๋ฆฌ๋˜๋‹ค๊ฐ€ ์ค‘๊ฐ„์— Present๋œ ๋ชจ๋‹ฌ์ด ๋‚˜์˜ค๋ฉด ์Šคํƒ์ด ๋Š๊ธฐ๊ฒŒ ๋œ๋‹ค. ์ค‘๊ฐ„์— ์ƒˆ๋กญ๊ฒŒ ๋„ค๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ embedํ•ด์„œ ์ „ํ™˜์„ ์ด์–ด๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๊ณ , ์ด ์‹œ์ ๋ถ€ํ„ฐ๋Š” ์ƒˆ๋กœ์šด ๋„ค๋น„๊ฒŒ์ด์…˜ ์Šคํƒ์ด ์ƒ๊ธฐ๊ฒŒ ๋œ๋‹ค. ์‹œ์ž‘์ ์˜ ์ค‘์š”์„ฑ (ํƒญ๋ฐ” ์ปจํŠธ๋กค๋Ÿฌ, ๋„ค๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ) ์Šคํ† ๋ฆฌ๋ณด๋“œ์— ๋„ค๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ embed ํ•ด๋†“๋”๋ผ๋„ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์ฃผ์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์›ํ•˜๋Š” ๊ตฌํ˜„์„ ํ•  ์ˆ˜ ์—†๋‹ค. ํ™”๋ฉด ์ „ํ™˜ํ•˜๋ฉด์„œ ๊ฐ’ ์ „๋‹ฌ ์ „๋‹ฌ ๋ฐ›์„ ํ™”๋ฉด์— ๊ณต๊ฐ„ ๋งŒ๋“ค๊ธฐ ๋ฐ์ดํ„ฐ ์ „๋‹ฌํ•˜๊ธฐ ๋ฐ›์€ ๋ฐ์ดํ„ฐ ๊ฐ€์ง€๊ณ  ๋ทฐ์— ํ‘œํ˜„ํ•˜๊ธฐ ํ™”๋ฉด ์ „๋‹ฌ ์‹œ ์ ์ ˆํ•˜๊ฒŒ ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋‹ด์•„๋ณด๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์šด ์บ์ŠคํŒ…์ด ํ•„์š”ํ•˜๋‹ค. (์šฐ๋ฆฌ๊ฐ€ ViewControl..
ยท๐ŸŒฑ SeSAC
์˜ต์…”๋„ ๋ฐ”์ธ๋”ฉ (Optional Binding) ์˜ต์…”๋„ ๋ฐ”์ธ๋”ฉ ์ฒ˜๋ฆฌ๋œ ์ƒ์ˆ˜์˜ ๋ฒ”์œ„๊ฐ€ ๋‹ค๋ฆ„ if ~ let guard ~ let ์ธ์Šคํ„ด์Šค ํ”„๋กœํผํ‹ฐ vs ํƒ€์ž… ํ”„๋กœํผํ‹ฐ UIKit ์š”์†Œ๋Š” ๋ชจ๋‘ ํด๋ž˜์Šค์ด๋‹ค. ์ธ์Šคํ„ด์Šค ํ”„๋กœํผํ‹ฐ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋œ ๋’ค, ๋‚ด๋ถ€์— ์žˆ๋Š” ๋ฉค๋ฒ„๋กœ์„œ ํ”„๋กœํผํ‹ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ํƒ€์ž… ํ”„๋กœํผํ‹ฐ static ํ‚ค์›Œ๋“œ๊ฐ€ ๋ถ™์€ ํ”„๋กœํผํ‹ฐ๋Š” ์ธ์Šคํ„ด์Šค ์ž์ฒด์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. ๋ณ€์ˆ˜์˜ ์ข…๋ฅ˜ ์ €์žฅ, ์—ฐ์‚ฐ, ๊ฐ์‹œ์ž ํ”„๋กœํผํ‹ฐ ์ดˆ๊ธฐํ™”, ํ•ด์ œ ํ™”๋ฉด์ด push ๋  ๋•Œ init(์ดˆ๊ธฐํ™”) ๋จ. ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ. ํ™”๋ฉด์ด pop ๋  ๋•Œ deinit ๋จ. ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋‚ด๋ ค๊ฐ. ๋ฌธ์ž์—ด ๊ด€๋ฆฌ ํœด๋จผ์—๋Ÿฌ ๊ด€๋ฆฌ ์—ด๊ฑฐํ˜• ์—ด๊ฑฐํ˜•์€ ์ดˆ๊ธฐํ™” ๋ถˆ๊ฐ€ ์ธ์Šคํ„ด์Šค ์—†์Œ ๊ทธ๋ ‡๊ธฐ์— ๊ตฌ์กฐ์ฒด, ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒํ™ฉ๊ณผ ๊ตฌ๋ถ„ ํ•„์š” ์ปดํŒŒ์ผ ์‹œ์ ์— ์—๋Ÿฌ ํƒ์ง€ ๊ฐ€๋Šฅ..
ยท๐ŸŒฑ SeSAC
1. ์•„์›ƒ๋ › ์ปฌ๋ ‰์…˜(Outlet Collection)์„ ์–ธ์ œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ ๋‹จ์ˆœ ์š”์†Œ ๋ฐ˜๋ณต ๋˜๋Š” ๋™์ผํ•œ UI ๊ตฌ์„ฑ, ๋””์ž์ธ์  ์š”์†Œ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์ ํ•ฉํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  ์ธ๋ฑ์Šค๋ฅผ ํ™œ์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ดํ›„์— UI ๊ตฌ์กฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ํ™•์ธํ•˜๊ณ ์ž ํ•  ๋•Œ ์–ด๋ ค์›€์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ๋””์ž์ธ์ ์ธ ๋ถ€๋ถ„๊ณผ ๋ฐ์ดํ„ฐ์ ์ธ ๋ถ€๋ถ„์€ ๋ถ„๋ฆฌ๊ฐ€ ๋” ์ ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค. 2. ๊ฐ์ฒด์˜ ์„ ์–ธ ์œ„์น˜ (feat. DateFormatter) ํ•จ์ˆ˜ ๋‚ด๋ถ€ ํด๋ž˜์Šค ๋‚ด๋ถ€ ํŒŒ์ผ ์ „์ฒด 3. TableView Contents Static cell : ํ˜•์‹์ด ํ•ญ์ƒ ๋™์ผํ•จ Dynamic type : ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ผ ์ปจํ…์ธ ๊ฐ€ ๋‹ฌ๋ผ์ง, ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฐฉ์‹์„ ์‚ฌ์šฉ View Header View Foo..
ยท๐ŸŒฑ SeSAC
1. ํ™”๋ฉด ์ „ํ™˜ 1) ํ™”๋ฉด ์ „ํ™˜์˜ ํ•„์š”์„ฑ 2) ํ™”๋ฉด ์ „ํ™˜ ์‹œ ๊ณ ๋ ค ์‚ฌํ•ญ ๋„ค๋น„๊ฒŒ์ด์…˜ ์ปจํ…์ธ  ์ „ํ™˜ ๋ฐฉ์‹ (์ƒ์„ธ ์ •๋ณด, ๊ธฐ์กด๊ณผ ๋‹ค๋ฅธ ์ •๋ณด) ์ „ํ™˜ ํšจ๊ณผ (ํŽ˜์ด์ง€ ์ „ํ™˜ ํšจ๊ณผ, ํŒ์—… ๋“ฑ) 3) ๊ฐœ๋ฐœ๋ฐฉ๋ฒ• (๊ตฌํ˜„์— ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ์„๊นŒ) ์ธํ„ฐํŽ˜์ด์Šค ๋นŒ๋” (๋ฐฉํ–ฅ ์ง์ž‘ ๊ฐ€๋Šฅ, ์ฝ”๋“œ ํ•„์š” ์—†์Œ, ๊ตฌํ˜„ ์‰ฌ์›€, ์„ธ๋ถ€์  ๋Œ€์‘ ๋ถˆ๊ฐ€๋Šฅ) ์ฝ”๋“œ (๋ฐฉํ–ฅ ์ง์ž‘ ์–ด๋ ค์›€, ์ฝ”๋“œ ํ•„์š”, ์ปจํ…์ธ  ํ‘œํ˜„ ์šฉ์ด, ์„ธ๋ถ€์  ๋Œ€์‘ ๊ฐ€๋Šฅ) ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํŽธ์ด๋‹ค. 4) Show vs Modal showmodal push present pop dismiss 5) ์Šคํ† ๋ฆฌ๋ณด๋“œ : Segue - Unwind 6) Modal Presentation Style full screen over full screen (full screen) over..
ยท๐ŸŒฑ SeSAC
ํด๋ž˜์Šค์™€ ๊ตฌ์กฐ์ฒด 0. ์šฉ์–ด์˜ ๊ตฌ๋ถ„ ํด๋ž˜์Šค๋ž‘ ๊ตฌ์กฐ์ฒด๋Š” ํ•˜๋‚˜์˜ ํฐ ๋ฐ•์Šค๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ ๋™์•ˆ ๋‹ค๋ค˜๋˜ ์ž‘์€ ๋‹จ์œ„์˜ ์ž๋ฃŒํ˜• ๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜์˜ ๋ฌถ์Œ์œผ๋กœ ๋ฌถ๋Š” ๊ณผ์ •์ด๋‹ค. ์ด์— ๋”ฐ๋ผ์„œ ์šฉ์–ด๋ฅผ ์กฐ๊ธˆ ๊ตฌ๋ถ„ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ๋ณ€์ˆ˜/์ƒ์ˆ˜ : ํ”„๋กœํผํ‹ฐ ํ•จ์ˆ˜ : ๋ฉ”์„œ๋“œ ์œ„์˜ 2๊ฐ€์ง€๋ฅผ ๋ฌถ์–ด์„œ ๋ฉค๋ฒ„๋ผ๊ณ  ๋ถ€๋ฅผ ์ˆ˜ ์žˆ๋‹ค. 1. ํด๋ž˜์Šค ํž™์— ์ €์žฅ ์‹ค์งˆ์ ์ธ ๊ฐ’์€ ํž™์— ์ €์žฅ(์ž๋ฃŒํ˜•์— ๋”ฐ๋ผ) ๊ฐ’์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ, ์ฐธ์กฐํ•˜๋Š” ์ฃผ์†Œ๋Š” ์Šคํƒ์— ์ €์žฅ 2. ๊ตฌ์กฐ์ฒด ์Šคํƒ์— ์ €์žฅ ๊ฐ’์„ ๋ณต์‚ฌ (๋…๋ฆฝ์ ) 3. ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ตฌ์กฐ(๊ธฐ์ดˆ) ์ฝ”๋“œ : ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค ์ฝ”๋“œ ๋ฐ์ดํ„ฐ : ์ „์—ญ ๋ณ€์ˆ˜, ํ•ญ์ƒ ๋ฉ”๋ชจ๋ฆฌ ์ฐจ์ง€ ํž™ : ํด๋ž˜์Šค๋Š” ๋ณดํ†ต ํž™์— ์˜ฌ๋ผ๊ฐ, ํด๋ž˜์Šค๋Š” ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ ์Šคํƒ : ํด๋ž˜์Šค ์•ˆ์˜ ํ”„๋กœํผํ‹ฐ(์‹ค์งˆ์ ์ธ ๊ฐ’)์€ ์Šคํƒ์— ์˜ฌ๋ผ๊ฐ 4. ์ดˆ๊ธฐํ™” ํด๋ž˜์Šค๋ฅผ ..
ยท๐ŸŒฑ SeSAC
์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™” ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™” ์„ ์–ธ๋งŒ ํ•˜๊ณ  ๋‚˜์ค‘์— ์ดˆ๊ธฐํ™” ์˜ต์…”๋„ ๊ฐ’์œผ๋กœ ํƒ€์ž…์„ ์ •ํ•ด์ค„์ง€ ์•„๋‹์ง€ ๊ฒฐ์ • ํŒŒ์ผ ์ถ”๊ฐ€ ์‹ค์ œ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์™€ ๊ด€๊ณ„(Reference)๋ฅผ ๋Š์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. (์ถ”๊ฐ€ํ•  ๋•Œ๋‚˜ ์‚ญ์ œํ•  ๋•Œ) Class(ํด๋ž˜์Šค) Super Class, Sub Class ๋ถ€๋ชจ-์ž์‹์˜ ๊ด€๊ณ„๋Š” ์ƒ๋Œ€์ ์ธ ๊ฒƒ์ด๋‹ค. Super Class(๋ถ€๋ชจ ํด๋ž˜์Šค) Sub Class(์ž์‹ ํด๋ž˜์Šค) -> Sub Classing(์ž์‹์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •) Base Class(์–ด๋””์—์„œ๋„ ์ƒ์†๋ฐ›๊ณ  ์žˆ์ง€ ์•Š๋Š” ํด๋ž˜์Šค) Inheritance ๋‹ค๋ฅธ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๋ฉค๋ฒ„(ํ”„๋กœํผํ‹ฐ๋‚˜ ๋ฉ”์„œ๋“œ)๋ฅผ ๊ฐ€์ ธ๋‹ค๊ฐ€ ์“ธ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋ฅผ ์ƒ์†์ด๋ผ๋Š” ์šฉ์–ด๋กœ ๋ถ€๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์ƒ์†์„ ๋ฐ›์€ ํด๋ž˜์Šค๋ฅผ Sub Class๋ผ๊ณ  ๋ถ€๋ฅด๊ณ , ์ƒ์†์„ ํ•ด์ค€ ํด๋ž˜์Šค๋Š” Super Class์ด๋‹ค. ..
taeeekki
'TIL' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก (4 Page)