PageViewController ์ฌ์ฉํด๋ณด๊ธฐ..!! ํ์ด์ง ๋๊ธฐ๋ฏ์ด ๋ด๊ฐ ์ํ๋ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ฅผ ์ ์ดํ ์ ์๋ค. extension PageVC: UIPageViewControllerDelegate, UIPageViewControllerDataSource { // ํ์ด์ง ์ด๋ํ ๋๋ง๋ค ํธ์ถ func pageViewController(_ pageViewController: UIPageViewController,didFinishAnimating finished: Bool,previousViewControllers: [UIViewController],transitionCompleted completed: Bool){ guard completed else { return } currentIndex = pageVie..
์ ์ฒด ๊ธ
๊ต์ฅํ ๋1๋
์ rx๋ฅผ ์ฌ์ฉํด์ผ๋ง ํ๋ ํ๋ก์ ํธ๊ฐ ์์ด์ ๊ทธ๋ ์ ๊น ๊ณต๋ถํ๊ณ , ์๋
7์์ฏค ํ๋ฒ ๋ ๊ณต๋ถํ์ง๋ง ๊ทธ๋๋ rx๋ฅผ ์ ์ฌ์ฉํด์ผํ๋์ง, ์ฅ์ ์ ์ฐพ์๋ด๋ ์ดํด๋ ๋์ง๋ง ํฌ๊ฒ ์๋ฟ์ง ์์์ ์กฐ๊ธ ๊ณต๋ถํ๋ค๊ฐ ์์ฐ์ค๋ฝ๊ฒ ์ฌ์ฉํ์ง ์๊ฒ ๋์๋ค. ์ทจ์
์ค๋น๋ฅผ ํ๋ฉด์ ๊ธฐ์กด์ ๋ง๋ค์ด ๋ฐฐํฌํ๋ ๋ค์ด์ด๋ฆฌ ์ฑ ์ฝ๋์ ์ฌ๊ฐ์ฑ์ ๋๊ปด ๋ฆฌํฉํ ๋ง๊ณผ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๋จ๊ณ์์ ์ฐ์ต์ฉ ํ๋ก์ ํธ๋ก ํ๋๊ฒ ๋ณด๋ค ์ข ๋ ๋ณต์กํ ๋น๋๊ธฐ์ฒ๋ฆฌ๋ฅผ ํด์ผํ ์ผ์ด ์๊ฒผ๋๋ฐ @escaping์ผ๋ก ๋ฒ์ด๋๊ณ ์ค๊ดํธ ์์ผ๋ก ํ๊ณ ํ๊ณ ๋ค์ด๊ฐ๋ ์ฝ๋๋ฅผ ๋ณด๋ ๋ญ๊ฐ ๋ง์์ ๋ค์ง ์์ ์ข ๋ ์ฐพ์๋ณด๋ ์ด๋ฐ ๋ถ๋ถ์ rx๋ก ํด๊ฒฐํ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ๊ทธ๋๋ถํฐ rx๋ฅผ ๋ฐฐ์์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๊ณ ์ทจ์
์ ํ ํ ํ์ฌ ์ฝ๋๋ฅผ ๋ณด๋ค๋ณด๋ ๋ณต์กํ ๋น๋๊ธฐ ์์๋๋ฌธ์ @escaping..
์ด๊ธฐํ ์ธ์คํด์ค๋ฅผ ์์ฑํด์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋น๋ฐ๋ ๊ฒ. ๋ชจ๋ ์ ์ฅ ์์ฑ๋ค์ ์ด๊ธฐํ๊ฐ ๋์ด์ผ ์ธ์คํด์ค ์ฌ์ฉ์ด ๊ฐ๋ฅ (์ด๊ธฐ๊ฐ์ด ์ง์ ๋์ด ์์ด์ผ ํจ) ํด๋์ค ๊ตฌ์กฐ์ฒด ์ง์ ์ด๊ธฐ๊ฐ ๋ฃ๊ธฐ O O ์์ฑ์ ์ฌ์ฉ O O ๋ฉค๋ฒ์์ด์ฆ ์ด๋์
๋ผ์ด์ X O Convenience init ์ถ๊ฐ์ ์ธ ์์
์ ํ ์ ์๋๋ก ํด์ฃผ๋ ๋ณด์กฐ ์ด๋์
๋ผ์ด์ ์๊ธฐ ๋จ๊ณ์ ์๋ ์ง์ ์์ฑ์ ๋๋ ์๊ธฐ ๋จ๊ณ์ ์๋ ๋ค๋ฅธ ํธ์ ์์ฑ์ ํธ์ถ ๊ฐ๋ฅ ์ง์ ์์ฑ์๋ ์์ ์ง์ ์์ฑ์๋ฅผ ํธ์ถํด์ผํจ ํด๋์ค์๋ง ํด๋นํ๋ ๊ธฐ๋ฅ (์์๊ณผ ๊ด๋ จ) ์ง์ ์์ฑ์๋ณด๋ค ์ ์ ๊ฐฏ์์ ํ๋ผ๋ฏธํฐ๋ก ๋ณด๋ค ํธ๋ฆฌํ๊ฒ ์์ฑํ๊ธฐ ์ํ ์๋ธ(Sub)๊ฐ๋
์ ์์ฑ์ ํธ์ ์์ฑ์๋ ์ง์ ์์ฑ์์ ์์กด ๋ฐ ํธ์ถ(์ง์ ์์ฑ์๊ฐ ์ ์ฅ ์์ฑ ์ด๊ธฐํ) ์ด๊ธฐํ ๊ณผ์ ์ ๊ฐํธํ๊ฒ ์ ๊ณตํ๊ธฐ ์ํจ ์ค์ง์ ์ผ๋ก ๊ฐ๋ฅํ ..
์ ๋ชฉ์ด.. ๊ธธ๋ค ๐ฅฒ ๋ทฐ๋ฅผ ์๋ ๋ฐฉ๋ฒ์ด ํฌ๊ฒ 2๊ฐ์ง๊ฐ ์๋๋ฐ push, present๋ก ๋๋ ์ ์๋ค. push๋ navigation controller๋ฅผ ๊ฐ์ธ๊ณ ์๋ ๋ทฐ์์ ๊ฐ๋ฅํ๊ณ , present๋ ๊ทธ๋ ์ง ์์ง๋ง present์์ ๋ทฐ๋ฅผ push ํ๋๊ฑด ๋ถ๊ฐ๋ฅํ๋ค. push -> navigation controller๋ก ๊ฐ์ผ ๋ทฐ ์์๋ง ๊ฐ๋ฅ present -> ๊ทธ๋ฅ ๋ทฐ ์์ ๊ฐ๋ฅ ์๋ฌดํผ ์ด๋ฐ ๊ฐ๋
์ ์ ์ ๋ก ํ๋ฉด presentํ ๋ทฐ ์์๋ push๊ฐ ๋ถ๊ฐ๋ฅํ์ง๋ง, presentํ ๋ทฐ๋ฅผ navigation controller๋ก ๊ฐ์ธ๋ฉด ๊ทธ ์์ push๊ฐ ๊ฐ๋ฅํ๋ค. ๋ด๊ฐ ๊ถ๊ธํ๋ ์ํฉ์ ๋ค์๊ณผ ๊ฐ๋ค VC1์์ VC2๋ฅผ Pushํ๋ ์ค Navigation controller๋ฅผ ๊ฐ์ผ VC3 Present๋ฅผ ํ์ฌ ..
์ฝ๋๋ก ๋ทฐ๋ฅผ ๊ตฌ์ฑํ ๊ฒฝํ์ ๋ช๋ฒ ์์ง๋ง ์คํ ๋ฆฌ ๋ณด๋๋ก ํ๋ฉด์ ๊ตฌ์ฑํ๋ ์ต์ํด์ ธ์ ๋ค์ ๊ธฐ์ต์์์ ์ฌ๋ผ์ก๋ค ใ
.ใ
์๋ฌด๋๋ ์ง๊ธ ๋ค๋๋ ํ์ฌ์์๋ ์คํ ๋ฆฌ๋ณด๋๋ก ํ๋ฉด์ ๊ตฌ์ฑํ๋ ์คํ ๋ฆฌ๋ณด๋๋ ๋ฐ๋ก ์ฐ์ตํ์ง ์์๋ ์ต์ํด์ง ์ ๋ฐ์ ์๋ ํ๊ฒฝ์ด๊ธฐ ๋๋ฌธ์ ํผ์์ ํ๋ ์ฐ์ต ์์ ๋ ํ๋ก์ ํธ๋ ์ฝ๋๋ก ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํด๋ด์ผ๊ฒ ๋ค! ๊ตฌ์ฑํ ํ๋ฉด์ ์๋์ ๊ฐ๋ค. UIViewController - UIView - UIView - UIButton ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ์กฐ๊ธ ๋ ์์ธํ ๋ณด์๋ฉด ... ์ด๋ฐ ๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. (์ด ๊ธฐ๋ฅ ๋๋ฌด ์ข๋ค ๐ซถ๐ป) ๋จผ์ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ์ ์ฒด์ ์ธ ํ์ ๋ค์๊ณผ ๊ฐ๋ค. // ์๋ก์ด ๋ทฐ ์์ฑ let newView = UIView() // ๊ธฐ๋ณธ ๋ทฐ์ ์ถ๊ฐ view.addSubview(newV..
AutoLayout์ ๊ณต๋ถํ๋ฉด์ landscape์ portrait์ ๋ฐ๋ฅธ ํ๋ฉด ๊ตฌ์ฑ ๋ฐฉ๋ฒ์ ๊ณต๋ถํ๋ค. ๋ด๊ฐ ๋ค์ ๊ฐ์๊ฐ ์กฐ๊ธ ์๋ ๊ฐ์๋ผ Vary for Traits์ ์ฌ์ฉํ ํ๋ฉด๊ตฌ์ฑ๋ฐฉ์์ ์๊ฐํ๋๋ฐ, ๋ด๊ฐ ํ์ฌ ๊ณต๋ถํ๋ 23๋
3์ ์์ ์๋ ์ด ๊ธฐ๋ฅ์ด ์์๋ค. ์ฐพ์๋ณด๋ xcode 13 ์
๋ฐ์ดํธ ๋ถํฐ ์ด ๋ฒํผ์ด ์ฌ๋ผ์ ธ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผํ๋ค. ํด๊ฒฐ๋ฐฉ๋ฒ์ ์ฐพ๋ ์ค ์ฌ๋๋ค์ด ์ถ์ฒํด์ค ๋์์์ ๋ณด๊ฒ ๋์๊ณ , ์ฌ๊ธฐ์ ํด๋ต์ ์ป์ ์ ์์๋ค. ๋๋ ์ฒซ๋ฒ์งธ ์ธ๋ก ํ๋ฉด์์๋ 2x2๋ก ๊ตฌ์ฑ๋ ๋ค๋ชจ ๋ฐ์ค๋ฅผ ๊ฐ๋ก ํ๋ฉด์ผ๋๋ 1x4๋ก ๋ํ๋๋๋ก ๊ตฌ์ฑํ๊ณ ์ถ์๋ค. (์ด์ฐ๋๊ฑด ๊ฐ๋ก ์ธ๋ก ํ๋ฉด ๊ตฌ์ฑ์ ๋ค๋ฅด๊ฒ ํ๊ณ ์ถ์๋ค!) ์์ 1. ๋จผ์ ์ธ๋ก ํ๋ฉด์ผ ๋ ๋ด๊ฐ ์ํ๋ Constraints๋ฅผ ์ถ๊ฐํ๋ค. 2. Constraint..
TableView๋ TextField์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๋ ๊ฐ๋ tableView.delegate = self ๋ฅผ ์ ์ด์ฃผ์ง ์์ ๋์์ด ์๋ ๋๊ฐ ์์๋ค. ๋งค๋ฒ ์ต๊ด์ ์ผ๋ก ์ด ์ฝ๋๋ฅผ ์ ์ด์ฃผ์์ง๋ง ์ ์ด๊ฑธ ์ ์ด์ผ ํ๋์ง ์์๋ณด๊ณ ์ ํ๋ค. ๋ธ๋ฆฌ๊ฒ์ดํธ ํจํด์ด๋? ์ด๋ฆ ๊ทธ๋๋ก ์์ํ๋ค ๋ผ๋ ์๋ฏธ์ด๋ค. ์ฆ ์์์๋ฅผ ๊ฐ๊ณ ์๋ ๊ฐ์ฒด๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด์๊ฒ ์์ ์ ์ผ์ ์์ํ๋ ํํ์ ๋์์ธ ํจํด์ผ๋ก ๊ฐ์ฒด์ ๊ฐ์ฒด๊ฐ์ ๋ํ๋ผ๊ณ ์๊ฐํ ์ ์๋ค. class ViewController: UITableViewDelegate { func tableViewFunction() { print("tableview ์ฒซ๋ฒ์งธ ํจ์ ์คํ") } // ์คํ๋ถ let tableView = UITableView() tableView.delegate ..
Code (์ฝ๋์์ญ) ๊ฐ๋ฐ์๊ฐ ์์ฑํ ๋ชจ๋ ์ฝ๋๊ฐ ๊ธฐ๊ณ์ด(0101…)๋ก ๋ณํ๋์ด ์ฌ๋ผ๊ฐ ์๋ ๊ณต๊ฐ ์ปดํ์ผ ํ์์ ๊ฒฐ์ (์ฝ๋์์ญ์ ํฌ๊ธฐ, ์ฝ๋๊ฐ ๊ธฐ๊ณ์ด๋ก ๋ณํ) Read-Only๋ก ์ค๊ฐ ์ฝ๋๋ฅผ ๋ฐ๊ฟ ์ ์์ ํ
์คํธ ์์ญ์ด๋ผ๊ณ ๋ ํจ ํ๋ก๊ทธ๋จ์ด ์์ํ๊ณ ์ข
๋ฃ๋ ๋ ๊น์ง ๋ฉ๋ชจ๋ฆฌ์ ๋จ์์์ CPU๋ ์ฝ๋ ์์ญ์ ์ ์ฅ๋ ๋ช
๋ น์ด๋ฅผํ๋์ฉ ๊ฐ์ ธ๊ฐ์ ์ฒ๋ฆฌํจ Data (๋ฐ์ดํฐ ์์ญ) ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋ ๋๊น์ง ์ง์์ง์ง ์์ ๋ฐ์ดํฐ ์ ์ฅ (์ ์ญ๋ณ์, static๋ณ์ ๋ฑ์ด ์ ์ฅ๋์ด ์๋ ๊ณต๊ฐ) ์ปดํ์ผ ํ์์ ๊ฒฐ์ ์ฝ๋์์ญ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ํ๋ก๊ทธ๋จ์ด ์์ํ๊ณ ์ข
๋ฃ๋ ๋ ๊น์ง ๋ฉ๋ชจ๋ฆฌ์ ๋จ์์์ Heap (ํ ์์ญ) ๋ฐํ์ ์์ ์ ํ์ด ํ์ฌ ์ฌ์ฉํ๊ณ ์๋ ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋จ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ฌ์ฉํ์ง ์์ ์์ญ์ ์ฐพ์ ํ ๋นํ๋ ๋ฐฉ์(๋์ ํ ๋น)์ด..