๋ทฐ์ ๋ฐ์ดํฐ ๊ด๋ จํ ๊ฒ์ ๋ถ๋ฆฌํ๋๋ก ํ์. ์ญํ ์ ๋ถ๋ฆฌํด์ ํจ์๋ฅผ ์์ฑํ์. UIViewController + UITableView UITableViewController๋ง ์ฌ์ฉํ ์ ์์ผ๋ฉด ์ผ๋ง๋ ํธํ ๊น? ๊ทธ๋ฌ๋ UITableViewController๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ์ข ๋ ์ ์ฐํ ํ๋ฉด ๊ตฌ์ฑ์ด ์ด๋ ต๋ค. ์ด๋ฏธ ํ๋ฉด ์ ์ฒด๊ฐ ํ
์ด๋ธ๋ทฐ๋ก ๊ฐ๋ ์ฐจ ์์ด ์์ญ์ ํฌ๊ธฐ ์กฐ์ ์ด ์ด๋ ต๊ธฐ ๋๋ฌธ์ด๋ค. (์ด ๋ง์ธ ์ฆ์จ RootView๊ฐ UITableView๋ผ๋ ๊ฒ์ด๋ค.) ๊ทธ๋ ๊ธฐ์ TableView๋ง ๋ฐ๋ก ์ฌ๋ ค์ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ๊ฐ ๋ ๋ง๋ค. TableView ์์ฑ + ์์๋ ์ฐ๊ฒฐ TableViewCell ์์ฑ (ํ๋กํ ํ์
์
, XIB ์ด์ฉ) + ์
ํด๋์ค ์ฐ๊ฒฐ + ์์๋ ์ฐ๊ฒฐ TableView์ ํ์ํ ํ๋กํ ์ฝ ์ ์ธ..
swift
๊ทธ ๋์ ๋ง์ฐํ๊ฒ๋ ํ์
์ด๋
ธํ
์ด์
(๋ช
์)๊ฐ ์ปดํ์ผ ์๋๊ฐ ๋ ๋น ๋ฅด๋ค๊ณ ์๊ฐํ๋์ง๋ผ ์๋ฌด ์๊ฐ ์์ด ํ์
๋ช
์๋ฅผ ํ๋ ์ต๊ด์ ๋ค์ด๊ณ ์์๋ค. ๊ทธ๋ฌ๋ ์ต๊ทผ ๋ฃ๊ณ ์๋ ๊ต์ก ๊ณผ์ ์์ ๋ฉํ ๋๊ป์ ํ์
์ถ๋ก ์ ํ๋ ๊ฒ์ด ๋ ๋์๋ณด์ธ๋ค๋ผ๋ ๋ง์์ ํด์ฃผ์
จ๊ณ , ์์ธ์ง ๊ถ๊ธํ๋์ง๋ผ ์ฌ์ญค๋ณด๊ฒ ๋์๋ค. ๋ต๋ณ ์ฃผ์ ๊ฒ์ผ๋ก๋ ์ปดํ์ผ๋ฌ์ ์ฑ๋ฅ์ด ์ ์ ๋ ๊ฐ์ ๋๊ณ ์๊ณ , ํ์
์ถ๋ก ์ด ์ปดํ์ผ ์๋๊ฐ ๋ ๋น ๋ฅด๋ค๋ ์คํ ๊ฒฐ๊ณผ๋ ์๋ค๊ณ ๋ต๋ณ์ฃผ์
จ๋ค. ์ค์ ๋ก ์๋์ ์ฒจ๋ถํ ๋งํฌ๋ฅผ ๋ณด๋ฉด ๊ฐ๋จํ ์คํ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํด๋ณผ ์ ์๋ค. https://forums.swift.org/t/regarding-swift-type-inference-compile-time-performance/49748/2 let a = "hello, world!" // type..
๋ค๋น๊ฒ์ด์
๋ฐ/ํญ ๋ฐ bottom/top ๋ผ์ธ ๋ํดํธ๋ก ์ ๊ณต๋๋ ์์ฑ์ ์๋ค. ์ปค์คํ
ํด์ผ ํจ. ํ๋ฉด ๋ถ๊ธฐ ์ฒ๋ฆฌ ๋จ์ํ 2๊ฐ๋ง ๋ถ๊ธฐ๊ฐ ๋๋ ๊ฒฝ์ฐ๋ ๊ฐ ์ ๋ฌ๋ก ๋ถ๊ธฐ ์ฒ๋ฆฌ ๊ฐ๋ฅ. ์ฌ์ฌ์ฉ๋๋ ํ๋ฉด์ด ๋ง์ ์ง๋ค๋ฉด ์ด๊ฑฐํ์ ์ฌ์ฉํด์ ์ข ๋ ์ ์ฐํ๊ฒ ๋์ํ ์ ์์. ๋ค๋น๊ฒ์ด์
ํ์ดํ ์ปค์คํ
ํ๋๋ง ํํด๋ผ. ์ ํ ๊ฐ์ด๋๋ฅผ ์งํค๊ฑฐ๋, ์์ ์๋ก ๋ง๋ค๊ฑฐ๋! ์ ํ์ ์์คํ
ํํ ๊ทธ๋๋ก๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์ปค์คํ
์ด ์ฌ์ค์ ์ด๋ ค์. ์ปค์คํ
์์ญ์ UIView๋ฅผ ๊ฐ์ง๊ณ ๊ฐ๋ฐ์๊ฐ ์ง์ ๋ค ๋ฐ๊พผ ๊ฒ์ด๋ผ๊ณ ๋ณด์๋ ๋ฌด๋ฐฉ. Navigation Title ๋ถ๋ถ์ UIView๋ก ๋์ฒดํ ์ ์์ titleView ํ๋กํผํฐ ์ด์ฉ ๋ผ๋ฒจ์ inset ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก๋ ํ
์คํธ ์ข์ฐ์ ์ฌ๋ฐฑ์ ๋ฃ์ด์ ํด๊ฒฐ ๊ฐ๋ฅ ๊ธ์ ์์ ๋ฒ์๊ฐ ๊ณ ์ ์ ์ด๊ฑฐ๋ ์ผ์ ํ๋ค๋ฉด Co..
App Bundle, ipa .app bundle ์ฑ ๋ฒ๋ค์ ์ด์ฉํ ๋น๋์ ๋ํด์ ์ง์์ ์์๋ค๋ฉด ์ด๋ ์๊น? ์ด์ ์ ๋ค๋ฅธ ์ฌ๋๋ค์ ํ๋ก์ ํธ๋ฅผ ๋ค์ด๋ฐ์์ ์ฌ์ฉ์ฑ ํ
์คํธ๋ฅผ ํด์ผ ํ๋ ์ผ์ด ์์๋๋ฐ ํ๋ก์ ํธ ํจํค์ง ์ธ๋ฑ์ฑ์ ํ๋ ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ ค์ ํ
์คํธํ๋ ๋ฐ ๋ฐ๋์ ์ด์ ์๊ฐ์ ์ผ๋ ๊ธฐ์ต์ด ์๋ค. ๋น๋๊ฐ ๋๋ ์ฑ ๋ฒ๋ค์ ๋ฐ์๋ค๋ฉด ์ข์์ํ
๋ฐ.. ๋๋ฌผ์ด ๋๋ค. .ipa iOS ์ ํ๋ฆฌ์ผ์ด์
์์นด์ด๋ธ ํ์ผ ๊ณ์ ์ด ๋ถ์ด ์์. Build ์๋ฎฌ๋ ์ดํฐ(Option) ์ค์ ๊ธฐ๊ธฐ(๊ฐ๋ฐ์ ๊ณ์ ํ์) Debug mode : ๊ฐ๋ฐ์ฉ Release mode : ์ถ์ Xcode ๋จ์ถํค ๋จ์ถํค๋ ์๊ฐ๋ ๋ ์ ๋ฆฌํด์ ๋์์์ผ์ง option + cmd + [ , ] : ์ฝ๋ ๋ธ๋ญ ์ด๋ shift + control + ํด๋ฆญ : ๋ค..
ํ๋ฉด ์ ํ์์ ํท๊ฐ๋ฆด๋งํ ์ง์ ๋ค๋น๊ฒ์ด์
์คํ ๊ด๋ฆฌ (์ฝ๋๋ก ํ๋ฉด ์ ํ์ ๊ตฌํํ ๋ ๋์น๊ธฐ ์ฝ๋ค.) ๋ค๋น๊ฒ์ด์
์คํ์ผ๋ก ๊ด๋ฆฌ๋๋ค๊ฐ ์ค๊ฐ์ Present๋ ๋ชจ๋ฌ์ด ๋์ค๋ฉด ์คํ์ด ๋๊ธฐ๊ฒ ๋๋ค. ์ค๊ฐ์ ์๋กญ๊ฒ ๋ค๋น๊ฒ์ด์
์ปจํธ๋กค๋ฌ๋ฅผ embedํด์ ์ ํ์ ์ด์ด๋๊ฐ ์ ์๊ณ , ์ด ์์ ๋ถํฐ๋ ์๋ก์ด ๋ค๋น๊ฒ์ด์
์คํ์ด ์๊ธฐ๊ฒ ๋๋ค. ์์์ ์ ์ค์์ฑ (ํญ๋ฐ ์ปจํธ๋กค๋ฌ, ๋ค๋น๊ฒ์ด์
์ปจํธ๋กค๋ฌ) ์คํ ๋ฆฌ๋ณด๋์ ๋ค๋น๊ฒ์ด์
์ปจํธ๋กค๋ฌ๋ฅผ embed ํด๋๋๋ผ๋ ์ธ์คํด์ค๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ฃผ์ํ์ง ์์ผ๋ฉด ์ํ๋ ๊ตฌํ์ ํ ์ ์๋ค. ํ๋ฉด ์ ํํ๋ฉด์ ๊ฐ ์ ๋ฌ ์ ๋ฌ ๋ฐ์ ํ๋ฉด์ ๊ณต๊ฐ ๋ง๋ค๊ธฐ ๋ฐ์ดํฐ ์ ๋ฌํ๊ธฐ ๋ฐ์ ๋ฐ์ดํฐ ๊ฐ์ง๊ณ ๋ทฐ์ ํํํ๊ธฐ ํ๋ฉด ์ ๋ฌ ์ ์ ์ ํ๊ฒ ๋ณ์์ ๊ฐ์ ๋ด์๋ณด๋ด๊ธฐ ์ํด์๋ ๋ค์ด ์บ์คํ
์ด ํ์ํ๋ค. (์ฐ๋ฆฌ๊ฐ ViewControl..
์ต์
๋ ๋ฐ์ธ๋ฉ (Optional Binding) ์ต์
๋ ๋ฐ์ธ๋ฉ ์ฒ๋ฆฌ๋ ์์์ ๋ฒ์๊ฐ ๋ค๋ฆ if ~ let guard ~ let ์ธ์คํด์ค ํ๋กํผํฐ vs ํ์
ํ๋กํผํฐ UIKit ์์๋ ๋ชจ๋ ํด๋์ค์ด๋ค. ์ธ์คํด์ค ํ๋กํผํฐ ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๋ค, ๋ด๋ถ์ ์๋ ๋ฉค๋ฒ๋ก์ ํ๋กํผํฐ์ ์ ๊ทผํ ์ ์๋ค. ํ์
ํ๋กํผํฐ static ํค์๋๊ฐ ๋ถ์ ํ๋กํผํฐ๋ ์ธ์คํด์ค ์์ฒด์์ ์ ๊ทผํ ์ ์๋ค. ๋ณ์์ ์ข
๋ฅ ์ ์ฅ, ์ฐ์ฐ, ๊ฐ์์ ํ๋กํผํฐ ์ด๊ธฐํ, ํด์ ํ๋ฉด์ด push ๋ ๋ init(์ด๊ธฐํ) ๋จ. ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ. ํ๋ฉด์ด pop ๋ ๋ deinit ๋จ. ๋ฉ๋ชจ๋ฆฌ์์ ๋ด๋ ค๊ฐ. ๋ฌธ์์ด ๊ด๋ฆฌ ํด๋จผ์๋ฌ ๊ด๋ฆฌ ์ด๊ฑฐํ ์ด๊ฑฐํ์ ์ด๊ธฐํ ๋ถ๊ฐ ์ธ์คํด์ค ์์ ๊ทธ๋ ๊ธฐ์ ๊ตฌ์กฐ์ฒด, ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ์ํฉ๊ณผ ๊ตฌ๋ถ ํ์ ์ปดํ์ผ ์์ ์ ์๋ฌ ํ์ง ๊ฐ๋ฅ..
TableViewCell ๋ฐ์ดํฐ ์ค์ Cell์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ค์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ๊ฐ๋จํ๊ฒ ์๊ฐ์ ํด๋ณด๋ฉด CellForRowAt ๋ฉ์๋ ๋จ๊ณ์์ Cell์ ํ๋กํผํฐ์ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ๋ฃ์ด์ค ์ ์์ ๊ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ ๋ฃ์ด์ค์ผ ํ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ ํ๋์ฉ ๋ค ๋ฃ์ด์ฃผ๊ธฐ๊ฐ ์ ๋ง ๋ฒ๊ฑฐ๋กญ๊ณ ๋นํจ์จ์ ์ธ ์์
์ด ๋ ๊ฒ์ด๋ค. ์ด ์์
์ Cell์๊ฒ ๋์ ๋ถ์ฌํด์ ๋ฐ์ดํฐ๋ง ํต์งธ๋ก ๋๊ฒจ์ฃผ๋ฉด Cell์ด ์์์ UI ์์์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ฃผ๋๋ก ํ๋ฉด ๊น๋ํด์ง ๊ฒ์ด๋ค. ๋ฐ์ดํฐ ์ญ์ ์ธ์๋ก ํ๋์ฉ ๋๊ฒจ์ค ์ ์๊ฒ ์ง๋ง ๊ทธ ์๊ฐ ๋ง๋ค๋ฉด ํ๋ค ๊ฒ์ด๋ค. ๊ทธ๋์ ๊ตฌ์กฐ์ฒด ํํ๋ก ์ฌ๋ฌ ํ์
์ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฌถ์์ผ๋ก ์๊ฐํด์ ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ์ฃผ๋ฉด ํธํ ๊ฒ์ด๋ค. // Model Struct struct Movie { var titl..
1. ์์๋ ์ปฌ๋ ์
(Outlet Collection)์ ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์๊น์ ๋ํ ๊ณ ๋ฏผ ๋จ์ ์์ ๋ฐ๋ณต ๋๋ ๋์ผํ UI ๊ตฌ์ฑ, ๋์์ธ์ ์์๋ฅผ ๋ค๋ฃฐ ๋ ์ ํฉํ๋ค๊ณ ๋ณผ ์ ์๋ค. ๋ฌผ๋ก ์ธ๋ฑ์ค๋ฅผ ํ์ฉํด์ ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋ ๊ฒ๋ ๊ฐ๋ฅํ์ง๋ง ์ดํ์ UI ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋๊ฑฐ๋ ์ฝ๋๋ฅผ ๋ค์ ํ์ธํ๊ณ ์ ํ ๋ ์ด๋ ค์์ด ์๊ธธ ์ ์๋ค. ๋์์ธ์ ์ธ ๋ถ๋ถ๊ณผ ๋ฐ์ดํฐ์ ์ธ ๋ถ๋ถ์ ๋ถ๋ฆฌ๊ฐ ๋ ์ ์ ํ ์ ์๋ค. 2. ๊ฐ์ฒด์ ์ ์ธ ์์น (feat. DateFormatter) ํจ์ ๋ด๋ถ ํด๋์ค ๋ด๋ถ ํ์ผ ์ ์ฒด 3. TableView Contents Static cell : ํ์์ด ํญ์ ๋์ผํจ Dynamic type : ๋ฐ์ดํฐ์ ๋ฐ๋ผ ์ปจํ
์ธ ๊ฐ ๋ฌ๋ผ์ง, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ํด๋น ๋ฐฉ์์ ์ฌ์ฉ View Header View Foo..