โ Struct Class ๋น๊ต iOS๊ฐ๋ฐ์๋ก ๋ฉด์ ์ ์ค๋นํ๋ค๋ณด๋ฉด Struct์ Class์ ์ฐจ์ด์ ์ด๋ผ๋ ์ง๋ฌธ์ ์์ฃผ ์ ํ๊ฒ ๋๋ค๊ณ ํ๋ค. ๊ทธ๋์ ํฌ์คํ ์ ํด๋ณด๊ณ ์ ํ๋ค. ๋จผ์ ๊ฐ๋จํ๊ฒ ์ฐจ์ด์ ์ ๋ณด์๋ฉด, "Struct๋ ๊ฐํ์ , Class๋ ์ฐธ์กฐํ์ " ์ ๋์ด๋ค. ์ด ์ง๋ฌธ์ ํตํด ARC๋ฅผ ํตํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ์ฐธ์กฐํ์ ๊ณผ ๊ฐ ํ์ ์ ์ฐจ์ด์ ๋ฑ์ ํจ๊ป ๋ตํ ์ ์์๊ฒ ๊ฐ๋ค. ์ฌ์ค Struct์ Class์ '์ฐจ์ด์ '๋ง ์๊ฐํ๋ค๋ฉด ๋ฌธ๋ฒ์ ์๋ ๋ด์ฉ์ ๊ณง์ด๊ณง๋๋ก ์ธ์ฐ๊ณ ๊ณต๋ถํด๋ ๋ ๊ฒ์ด๋ค. ํ์ง๋ง ์ด ์ง๋ฌธ์ด ๋ฉด์ ์์ ์์ฃผ ๋์จ๋ค๋๊ฒ์ ๋ํด์ ์๊ฐํด๋ณธ๋ค๋ฉด, iOS๊ฐ๋ฐ์์๊ฒ ์ด๋ค ์๋ฏธ๋ฅผ ๊ฐ๋ ์ง๋ฌธ์ธ์ง ์กฐ๊ธ ๋ ์๊ฐํด๋ณผ ํ์๊ฐ ์๋ค. ๊ฒฐ๊ตญ "๊ฐ๋ฐ์๊ฐ ๊ฐ์ฅ ์ค์ํ๊ฒ ๊ณ ๋ คํด์ผ ํ ๊ฒ ์ค ํ๋๋ ์ฑ๋ฅ์ด๊ณ , Struct์ Cl..
๐ MVC ํจํด ๋์์ธ ํจํด ์ค ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํจํด Model - View - Controller ๊ตฌ์กฐ์ ์ํคํ ์ฒ ํจํด ๐ก ์ผ๋ฐ์ ์ธ MVC ํจํด - Model ---------- ์ฑ์ ๋ฐ์ดํฐ์ ๋น์ฆ๋์ค ๋ก์ง ( ์ฃผ๋ก struct๋ class ) - View ----------- ํ๋ฉด๊ณผ control๋ฅผ ์คํฌ๋ฆฐ์ ํตํด ๋ณด์ฌ์ฃผ๋ ์ญํ ( ์ฃผ๋ก UiKit ์์ ) - Controller ------ View์ Model์ ์๋ ์ญํ ( ์ฃผ๋ก UiViewController ์์ ) View์ Model์ด ์ง์ ์ ์ผ๋ก ์ํตํ๋๊ฒ ์๋๋ผ Controller๋ฅผ ํตํด ์ํตํ๊ฒ ๋๋ค. ์ฆ, View๋ Model์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ , Model์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ค. ์ด๋ฅผ Controller๊ฐ ์๋๊ฒ ๐ก ์ ํ์ MVC ํจํด V..
๋์ ๋๋ฒ์งธ ์ฑ ์ถ์ ๊ธฐ๋ก 4.12 ~ 4.27 ( "15์ผ ์ด๋ด" ) ๊ธฐํ ๊ท์น ๊ฐ๋ฐ ๊ฐ๋ฐ์ด์ธ์ ๊ณผ์ ์ถ์๋ฅผ ๋ง์น๊ณ ๋ฆฌ์ ๋๋์ ๊ธฐํ ์ด๋ฒ ์ฑ์ ๊ธฐํ ๋ชฉ์ ๋ "๋์ ์ํ"์์ ๋์๋ค. ๋ฐฐ๋ฌ์์์ ์ํฌ ๋ ๋ฌด์์ ์ํฌ์ง ๊ณ ๋ฏผ์ด ๋ผ์ ์ด๊ฒ์ ๊ฒ ๋ค์ด๊ฐ๋ณด๊ณ , ์ฐพ์๋ณด๋ ๊ฒฝํ์ ๋๊ตฌ๋ ํ์๊ฒ์ด๋ค. ๋๊ตฐ๊ฐ ๋ฌด์์ ๋จน์์ง ๋ฆฌ์คํธ๋ฅผ ์ ์ํด์คฌ์ผ๋ฉด ๊ณ ๋ฅผ ์ ์์๊ฑฐ๊ฐ์๋ฐ, ๊ทธ๋ ๋ค๊ณ ์ฐพ์๋ณด๊ธฐ์ ๊ท์ฐฎ๊ณ .. ์ถ์ฒํด์ค์ฌ๋๋ ์๋ค. ๊ทธ๋์ ๋ง๋ค๊ฒ ๋์๋ค. 1. ์์์ด ๋ง์์ ์๋ค๋ฉด ๋ฐ๋ก๋ฐ๋ก ๋๊ฒจ์ผ ํ๊ธฐ ๋๋ฌธ์ ํ์์๋ ๊ธฐ๋ฅ์ ๋ชจ๋ ๋นผ๊ณ ๋จ์ํ๊ณ , ๋น ๋ฅด๊ฒ ๋์ํด์ผํ๋ค. 2. ์ํ๋ ๋ฉ๋ด๊ฐ ๋ฑ์ฅํ์ผ๋ฉด, ๋ฐ๋ก ์ฑ์ ๋ ๋ค์ด๊ฐ์ง ์๊ณ ๋ฐ๋ก ์ด๋ํ ์ ์์ด์ผ ํ๋ค. 3. ๊ฐ๋ฐ์ ํ๋ฉด์ ๋ํ์ ์ด๊ณ ๊ธฐ๋ณธ์ ์ธ ์์ ๋ฆฌ์คํธ๋ ์ฃผ์ด์ง์ง๋ง, ์ฌ์ฉ์์ ..
๋์ ์ฒซ ์ฑ ์ถ์ ๊ธฐ๋ก 2023.02.24 ~ 2023.03.24 ( "1๊ฐ์" ) ๊ธฐํ ๊ท์น ๊ฐ๋ฐ ๊ฐ๋ฐ์ด์ธ์ ๊ณผ์ ์ถ์๋ฅผ ๋ง์น๊ณ ์ค์ ์ฑ์ ์ฌ์ฉํ๋ฉฐ ์์ฌ์ด์ ๋๋์ ๊ธฐํ ์ฑ์ ๊ธฐํ ๋ชฉ์ ์ "๋ด๊ฐ ํ์ํด์, ๋ด๊ฐ ์ฌ์ฉํ๊ธฐ ์ํด์" ์๋ค. ์ด๋์ ํ ๋ ์ด๋์๊ฐ๊ณผ, ์ฌ๋์๊ฐ ํ์ธ์ ์ํ์ฌ ์ ํ์์น๋ฅผ ์ฐจ๊ณ ํ๋๋ฐ ์๋ชฉ์ ์๊ณ๋ฅผ ์ฐจ๊ณ ์๋ค๋๊ฒ ์ด๋ ์๊ฐ๋ถํฐ ์กฐ๊ธ ๊ฑธ๋ฆฌ์ ๊ฑฐ๋ฆฌ๊ฒ ๋๊ปด์ง๊ณ , ์ฌ๋์๊ฐ์ด ๋ช ๋ถ์ ์์๋์๋์ง ๊ธฐ์ตํ๊ณ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. 1. ๊ธฐ์กด์ ์์ดํฐ ๋ด์ ํ์์์น๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ๋ ์์์ง๋ง, ์ฌ๋ ์๊ฐ์ด ์ธ์ ๋๋๋๊ฑด์ง ๋์ผ๋ก ํ์ธํด์ผ ํ๋ค. -> ์๋ฆฌ๋ก ์๋ฆผ์ด ์์ผ๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ๋ฉ์ธ ๊ธฐ๋ฅ์ 'ํ์ด๋จธ'์ด๊ณ ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ๋ค์ ๋ฃ๊ณ ์ถ์๋ค. ๊ทธ๋์ ํ๋ฉด์ Tab Bar๋ฅผ ์ด์ฉํ์ฌ ..
๐ Delegate Pattern Delegate ํจํด์ iOS์์ ์ ๋ง ๋ง์ด ์ฐ์ด์ง๋ง, ๋ญ์ง ๋ชจ๋ฅด๊ณ ๊ทธ๋ฅ ์ฝ๋๋ฅผ ์น๊ณ ์๊ธฐ ์ ์ผ ์ฌ์ด ๊ฒ๋ค ์ค ํ๋์ธ ๊ฒ ๊ฐ๋ค. ์๋ฅผ ๋ค์ด, UITableView๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์ UITableViewDataSource, UITableViewDelegate๋ฅผ ๋น์ฐํ๊ฒ ViewController์ ์ฑํํ๊ณค ํ์ง๋ง ์ ๊ผญ ํ ์ด๋ธ๋ทฐ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด UITableViewDataSource๋ฅผ ์ฑํํด์ผ ํ๋์ง, UITableViewDataSource์ UITableViewDelegate๋ ์ ํ๋กํ ์ฝ๋ก ๊ตฌํ๋์ด ์๋์ง ๋ฑ๋ฑ์ ์ค๋ช ํ๋ ๊ฑด ํนํ๋ ์ด์ฌ์์๊ฒ ์ฝ์ง ์์ ์ผ์ด๋ค. ์ ํ์ ์ ๊ทธ๋ ๊ฒ๋ ๋ง์ UI์์๋ค์ Delegate ํจํด์ ์ฌ์ฉํ๊ณ ์๋ ๊ฑธ๊น ํญ์ ์ดํดํ ๋ฏ ์ ํ๋ฏ, ..
๐ AutoLayout : TableView_Text_Dynamic_Cell Text Line์ ๋ฐ๋ผ Cell์ ๋์ด๋ฅผ ๋์ ์ผ๋ก ๋ณํ๊ฒ ํ๋ ๋ฐฉ๋ฒ tableView tableViewCell ์ค์ ํ Label 4๊ฐ๋ฅผ ๋ชจ๋ ์ํ์ข์ฐ 20์ ์ค๋ค. ( ์ ์ผ ์ฐ์ธก ์๋จ์ bottom์ ์ ๊ฑฐ ) ์ผ์ชฝ 3๊ฐ์ ๋ผ๋ฒจ Hugging Priority - Vertical์ ์กฐ์ ํ์ฌ ์ ๋ ฌํ๋ค. Cell์ identifier ์ค์ tableView๋ฅผ VC์ dataSource, delegate ์ฐ๊ฒฐ protocol ์ถ๊ฐ ํ ์ฝ๋ ์ ๋ ฅ ํ์ฌ๊น์ง์ ๊ฒฐ๊ณผ MyCell์ Class๋ฅผ ๊ฐ์ ํ์ผ์ ์์ฑํ์ฌ์ฃผ๊ณ ( ๋ค๋ฅธ ํ์ผ์ ๋ง๋ค์ด์ค๋ ๋๋ค ) Cell์์ Label์ค ์ตํ๋จ์ ๊ฒ์ IBOulet ์ค์ ํ๋ค. talbeViewCell์..
๐ AutoLayout : TableView_Expand ์์ ๋ก์ด ๋์ ๋์ด Table View์ Cell ์ ํด๋ฆญํ์๋ Cell ์ ๋์ด๊ฐ ๋์ ์ผ๋ก ๋ณํ๋ ( expand ) Layout tableView - tableViewCell - Label ๋ ์ด์์ ์ค์ ํ MyCell ํด๋์ค๋ฅผ ์์ฑํ์ฌ label Outlet ์ค์ ์ดํ tableView์ ํด๋นํ๋ ์ฝ๋๋ฅผ ๊ตฌ์ฑํด์ค๋ค. ๋ค ๋๋ค๋ฉด ์คํ ๋ฆฌ๋ณด๋์ tableView๋ฅผ ์์ VC์ dataSource, delegate๋ฅผ ์ฐ๊ฒฐํ๋ค. ( TableViewCell์ identifier = expandCell ์ค์ ํ Class๋ฅผ ์์ฑํด์ฃผ์๋ MyCell๊ณผ ์ฐ๊ฒฐํด์ฃผ์ด์ผํ๋ค. ) ( Label ์ Lines๋ 0 ์ผ๋ก ํด์ฃผ์ด์ผ ํ๋ค. ) Label์ ๋ค์ด๊ฐ ์์ ..
๐ AutoLayout : Popup _ Animation ํ์ ๊ณผ ์ ๋๋ฉ์ด์ ํจ๊ณผ MainStoryboard์ 'Show popup' ๋ฒํผ์ ํ๋ ์ถ๊ฐํด์ค๋ค. cmd + n ์ ๋๋ฌ cocoa Touch ํ์ผ 1๊ฐ, StoryBoard ํ์ผ 1๊ฐ๋ฅผ ๊ฐ๊ฐ ๋ง๋ค์ด์ค๋ค. ๋ง๋ ์คํ ๋ฆฌ๋ณด๋๋ฅผ ์ฐ์ธก์์ class ์ฐ๊ฒฐ๊ณผ StoryBoard ID๋ฅผ ์ง์ ํ๊ณ 'Use Storyboard ID'๊น์ง ์ฒดํฌํ๋ค. ๋ค์๊ณผ ๊ฐ์ด View์์ imageView, Button 3๊ฐ๋ฅผ ๋ง๋ค๊ณ ๋ ์ด์์์ ์๋ฃํ๋ค. * imageView์ ์ฌ์ง์ด ๋์ด๊ฐ ๋๋ฌด ๋๊ฒ ๋์ค๋ฉด ์ค์ ์์ Aspect fit์ ์ ํํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ์ง์ ๋์ด๋ฅผ ์ง์ ํด์ฃผ๊ณ , Constant๊ฐ์ ์กฐ์ ํ์ฌ ๋์ด๋ฅผ ๋ฎ์ถ๋ค. * ํ๋จ Button 2๊ฐ๋ ์ํ์ข์ฐ 20์ ์ฃผ..