๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (159) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ < ๋ถํธ๋ฆฝ > ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ ๋ฐฉ์นจ ('https://wm05028.tistory.com/'์ดํ '๋ถํธ๋ฆฝ')์(๋) ใ๊ฐ์ธ์ ๋ณด ๋ณดํธ๋ฒใ ์ 30์กฐ์ ๋ฐ๋ผ ์ ๋ณด์ฃผ์ฒด์ ๊ฐ์ธ์ ๋ณด๋ฅผ ๋ณดํธํ๊ณ ์ด์ ๊ด๋ จํ ๊ณ ์ถฉ์ ์ ์ํ๊ณ ์ํํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ํ๊ธฐ ์ํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ๋ฐฉ์นจ์ ์๋ฆฝ·๊ณต๊ฐํฉ๋๋ค. โ ์ด ๊ฐ์ธ์ ๋ณด์ฒ๋ฆฌ๋ฐฉ์นจ์ 2022๋ 1์ 1๋ถํฐ ์ ์ฉ๋ฉ๋๋ค. ์ 1์กฐ(๊ฐ์ธ์ ๋ณด์ ์ฒ๋ฆฌ ๋ชฉ์ ) (https://wm05028.tistory.com/) '๋ถํธ๋ฆฝ'์ ๊ฐ์ธ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ๊ณ ์์ง ์์ต๋๋ค. ์ฒ๋ฆฌํ๊ณ ์๋ ๊ฐ์ธ์ ๋ณด๋ ๋ค์์ ๋ชฉ์ ์ด์ธ์ ์ฉ๋๋ก๋ ์ด์ฉ๋์ง ์์ผ๋ฉฐ ์ด์ฉ ๋ชฉ์ ์ด ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ์๋ ใ๊ฐ์ธ์ ๋ณด ๋ณดํธ๋ฒใ ์ 18์กฐ์ ๋ฐ๋ผ ๋ณ๋์ ๋์๋ฅผ ๋ฐ๋ ๋ฑ ํ์ํ ์กฐ์น๋ฅผ ์ดํํ ์์ ์ ๋๋ค. ์ 2์กฐ(๊ฐ์ธ์ ๋ณด์ ์ฒ๋ฆฌ ๋ฐ ๋ณด์ .. 1. iOS ์ฑ ์ถ์ ํ๋ก์ ํธ ๊ธฐํ์ : [ ๋ ๋ฆฝ์์ ํ๋ ์ดํ ์ฑ ] 1) ์ฑ ์๊ฐ ๋ฐ ํน์ง ์ด๋ฒ ์ถ์ ํ๋ก์ ํธ์์ ๋ง๋ค๊ณ ์ํ๋ ์ฑ์ MapKit์ ํ์ฉํด ์ง๋ ๋ด์ ๋ค์ํ ๋ ๋ฆฝ์์ ์ ์์น๋ฅผ ๋ํ๋ด๊ณ ํ์ฌ ์์น ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ๋ฆฝ์์ ๊ณผ ๊ทธ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํด์ฃผ๋ ์ฑ์ ๋๋ค. ์ด๋ฒ ์ฑ์ ๋ง๋ค๊ฒ ๋ ๊ณ๊ธฐ๋, ์ผ๋ฐ ์์ ์ด ์๋ ์์ ๋ ๋ฆฝ์์ ์ ๋ฐฉ๋ฌธํด ํ๋ ์ดํ ๋ ์ฑ ์ ๊ตฌ๊ฒฝํ๊ณ ๊ทธ ์ค์์ ์ฑ ๋ฐฉ์ง๊ธฐ๊ฐ ์ถ์ฒํด์ฃผ๋ ์ฑ ์ ๊ตฌ์ ํ๊ธฐ๋ ํ๋ฉฐ ์ค๋ก์ง ์ฑ ๋ฐฉ์ง๊ธฐ์ ์ทจํฅ์ด ์๋ฉ ๋ด๊ธด ๊ณต๊ฐ ์์์ ๋จธ๋ฌด๋ ์๊ฐ์ด ์ ์๊ฒ ์ธ์ ๋ ์ด์๊ฐ ํ์ ์ฃผ์๊ธฐ ๋๋ฌธ์, ํ์ ๋ ๋ฆฝ์์ ์ ๋ฐฉ๋ฌธํด๋ณด์ง ์์๋ ์ฌ๋๋ค๋ ์ด ์ฑ์ ํตํด ๋ ๋ฆฝ์์ ์ ๋ฐฉ๋ฌธํ์ฌ ๊ทธ ํ๋ณต์ ๋๋ ์ ์์์ผ๋ฉด ํ๋ ๋ฐ๋์ผ๋ก ๋ง๋ค๊ฒ ๋์์ต๋๋ค. Version 1 ์์๋ ์ฐ์ ์์ธ์ ์ค์ฌ์ผ๋ก ๋ ๋ฆฝ์์ ์ ์ ๋ณด๋ฅผ ๋ด์ ์์ ์ด๋ฉฐ, ์ถํ ์ ๋ฐ์ดํธ ๋ ์์ธ .. 22.07.21 ใ ฃ ViewController Transition(ํ๋ฉด์ ํ) & Optional Binding(์ต์ ๋ ๋ฐ์ธ๋ฉ) & ์ธ์คํด์ค ํ๋กํผํฐ vs ํ์ ํ๋กํผํฐ ViewController Transition - Present - Dismiss (a.k.a Modal) Present - Dismiss ๋ ์ธํฐํ์ด์ค ๋น๋ ์์์๋ Modal ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ํ๋ฉด์ ํ ๋ฐฉ์์ ๋๋ค. ๋ฐ๋ผ์ ์๋์์ ์, ์์์ ์๋๋ก ํ๋ฉด์ ํ์ด ์ผ์ด๋๋ค๊ณ ์์ธกํด๋ณผ ์ ์์ต๋๋ค. ์ฐ์ ๊ทธ ์ค์์ Present๋ฅผ ๊ตฌํํ ์ ์๋ ์ฝ๋๋ฅผ ์์๋ด ์๋ค. ์ฐ์ ๊ฐ์ฅ ์ค์ํ ์ง์ ์ ์ ์ฝ๋์์ ์ฃผ์์ ๋จ 1๋ฒ, 2๋ฒ, 3๋ฒ์ ๋๋ค. 2.5๋ฒ๊ณผ ๊ฐ์ ๋ถ๋ถ์ ํ์์ ๋ฐ๋ผ ์ถ๊ฐํ๋ฉด ๋์ง๋ง, ํ๋ฉด์ ํ์ ๊ตฌํํ ๋์๋ ๋ฐ๋์ 1๋ฒ, 2๋ฒ, 3๋ฒ์ ์ ์ด์ฃผ์ด์ผ ํฉ๋๋ค. ์ ์ฝ๋์์๋ present ๋ฐฉ์์ style๋ฅผ fullscreen์ผ๋ก ํ๊ธฐ ๋๋ฌธ์, ์ ํ๋ ํ๋ฉด์๋ ํ๋ฉด์ ๋ซ์ ์ ์๋ ๋ฒํผ์ด ์์ผ๋ฏ๋ก bar .. 22.07.20 ใ ฃ UICollectionViewController & Struct ๊ตฌ์กฐ์ฒด ํ์ฉ UICollectionViewController UICollectionViewController ๋ ์์ ๊ฐ์ ํํ์ ์ฌ์ ๋ง๋ค ๋ ์ฌ์ฉ๋๋ Controller ์ ๋๋ค. ์์ ๊ฐ์ ํํ์UICollectionViewController๋ฅผ ๋ง๋ค๊ธฐ ์ํด์๋ UICollectionViewFlowLayout ์ ๊ฐ๋ ์ด ์ฌ์ฉ๋ฉ๋๋ค. - itemSize layout.itemSize = CGSize(width: width/2, height: width/2) ์์ ๊ฐ์ด ๊ธฐ๋ณธ์ ์ธ ์์ดํ ์ ์ฌ์ด์ฆ๋ฅผ ์ด๊ธฐํํ ๋ ์ฌ์ฉ๋๋ ์ฝ๋์ ๋๋ค. - minimumLineSpacing minimumLineSpacing ๋ cell ์ ํฌ๊ธฐ๊ฐ ๋ค์ํ ๋ ์ต์ํ ์ด ์ ๋๋ ๋จ์ด์ ธ ์์ด์ผ ํ๋ค๋ ๊ฐ๋ ์ ๋๋ค. - minimumInteritemSp.. 22.07.18 - 19 ใ ฃ Enum CaseIterable & Table View Enum CaseIterable Enum์ ํ์ฉํด ์ด๊ฑฐํ ํ์ ํ๋กํผํฐ์ธ allCases๋ฅผ ํ์ฉํ์ฌ ๋ฐฐ์ด์ฒ๋ผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋จ์ ๋ฐฐ์ด์ ์ฌ์ฉํ ๋๋ณด๋ค ์ฝ๋๋ฅผ ํจ์ฌ ๋ ์ง๊ด์ ์ด๊ณ ํจ์จ์ ์ผ๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค. Table View ๋ค์์ Table View Controller ์ ๊ผญ ์์ฑํด์ผ ํ๋ ์ฝ๋์ ๋๋ค. ์ฐ์ Table View ๋ Section / Row / Cell ๋ก ์ด๋ฃจ์ด์ ธ์๊ธฐ ๋๋ฌธ์, ๊ฐ๊ฐ์ด ๋ช ๊ฐ์ Section์ด๋ Row๋ก ์ด๋ฃจ์ด์ ธ ์๋์ง ์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ฝ๋์ ๊ฒฝ์ฐ ํ๋์ Section ์์ ๋ฐฐ์ด ๋ด ์์์ ๊ฐ์๋งํผ Row๊ฐ ์๋ ๊ตฌ์ฑ์ ๋๋ค. - TableViewCell Reuse Mechanism (์ฌ์ฌ์ฉ ๋ฉ์ปค๋์ฆ) ์ฌ์ฌ์ฉ ๋ฉ์ปค๋์ฆ์ด๋, Table Vi.. 22.07.13 ใ ฃ Class & Struct Class - ํ๋กํผํฐ์ ๋ฉ์๋ Class ๋ฅผ ๊ฐ๋จํ ๋น์ ํ์๋ฉด ์ํ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ์ํ์๋ ๋ฐฅ์ ๋ด๋ ๊ณณ, ๊ตญ์ ๋ด๋ ๊ณณ, ๋ฐ์ฐฌ์ ๋ด๋ ๊ณณ์ด ์๋ ๊ฒ์ฒ๋ผ, Class ์๋ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ๋ด์ ์ ์๋ ๊ณต๊ฐ์ด ์์ต๋๋ค. ์ฌ๊ธฐ์ ํ๋กํผํฐ๋ ํด๋์ค ๋ด๋ถ์ ์ ์ธ๋ ๋ณ์๋ฅผ ์๋ฏธํ๊ณ ๋ฉ์๋๋ ํจ์๋ฅผ ์๋ฏธํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฐ ํด๋์ค๋ฅผ ์ฌ์ฉํด์ ์ฝ๋ฉํ๋ ๊ฒ์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๊ณ ํฉ๋๋ค. iOS UIKit Framework๋ ๋๋ถ๋ถ ํด๋์ค๋ก ๊ตฌํ๋์ด ์์ต๋๋ค. - ์ธ์คํด์ค ๊ทธ๋ฌ๋ฉด ์ด ํด๋์ค๋ฅผ ํธ์ถํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น์? ํด๋์ค๋ฅผ ํธ์ถํ๊ธฐ ์ํด์๋ ๊ฐ์ฒด๊ฐ ํ์ํ๋ฐ, ์ด๋ ์ด ๊ฐ์ฒด๋ฅผ ์ธ์คํด์ค๋ผ๊ณ ํฉ๋๋ค. ์ด๋ ๊ฒ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ฉด ์ธ์คํด์ค๋ฅผ ํตํด ํ๋กํผํฐ์ ๋ฉ์๋์ ์ ๊ทผ์ด ๊ฐ๋ฅํด์ง๋๋ค. - ์์ ์ด.. 22.07.12 ใ ฃ์ด๊ฑฐํ & ํจ์์ ๋ฐํ๊ฐ & Raw String ์ด๊ฑฐํ ์ด๊ฑฐํ์ด๋ ์ฝ๊ฒ ๋งํด, ๋ฌธ์์ด๊ณผ ์ ์๊ฐ ๋ฑ ์ ๋ ฅ๋ฐ์์ผ ํ ์ ๋ณด๋ฅผ ์ง์ ์ ๋ ฅํ์ง ์๊ณ ์ ํํ ์ ์๊ฒ ํด์ฃผ๋ ํํ์ ๋๋ค. ์ด๊ฑฐํ์ ํน์ง ์ค ๊ธฐ์ตํด์ผ ํ๋ ๊ฒ์, ์ด๊ฑฐํ์ ๋ฐฐ์ด๊ณผ ์งํฉ์ฒ๋ผ ์ ๋ณด์ ์ญ์ ๋ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ๊ตฌ๋ฌธ ์์ฒด๋ฅผ ์์ ํ์ง ์๋ ์ด์, ์ค์ฝํ ๋ฐ์์ ์ผ์ด์ค๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ด์ฒ๋ผ ์ด๊ฑฐํ์ Switch ๊ตฌ๋ฌธ๊ณผ ํจ๊ป ์ฐ์ด๊ธฐ๋ ํฉ๋๋ค. ์ฐ์์๋ if-else ๊ตฌ๋ฌธ๊ณผ ๋น์ทํ์ง๋ง ์ข ๋ ์ฝ๊ณ ์ง๊ด์ ์ผ๋ก ํํํ ์ ์์ต๋๋ค. Switch ๊ตฌ๋ฉด์์ ์ด๊ฑฐํ ๊ฐ์ ๋งค์นญํ ๋์๋ ๋ฐ๋์ ์ด๊ฑฐํ์ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค. ํ๋๋ผ๋ ๋น ์ ธ์๋ค๋ฉด, ์ปดํ์ผ์ด ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ์ด๊ฑฐํ์ ๋ชจ๋ ๊ฐ์ ํฌํจํ๊ธฐ ์ด๋ ต๋ค๋ฉด, default๋ก ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ด์ผ๋ง.. 22.07.06 ใ ฃ์ฑ์ ์๋ช ์ฃผ๊ธฐ & AppDelegate vs SceneDelegate & ๋คํฌ ๋ชจ๋ & UIWindow ์ฑ์ ์๋ช ์ฃผ๊ธฐ ์ฑ์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ์์๋ณด๊ธฐ ์ ์, ์๋ช ์ฃผ๊ธฐ์ ์ ํํ ์ ์๋ฅผ ์์๋ณด๋ ค ํฉ๋๋ค. ์ฑ์ ์๋ช ์ฃผ๊ธฐ๋ ์ฑ์ ์ต์ด ์คํ๋ถํฐ ์์ ํ ์ข ๋ฃ๋ ๋๊น์ง ์ฑ์ด ๊ฐ์ง๋ ์ํ์ ๊ทธ ์ํ๋ค ์ฌ์ด์ ์ ์ด๋ฅผ ์๋ฏธํฉ๋๋ค. ์ฑ์ ์๋ช ์ฃผ๊ธฐ๋ ์ด 4๊ฐ์ง๋ก ๋ถ๋ฅํ ์ ์์ต๋๋ค. 1) Not Running: ์ฑ์ด ์์๋๊ธฐ ์ ์ํ 2) Foreground : ์ฑ์ด ํ๋ฉด์ ์ฌ๋ผ์ ์๋ ์ํ - Active : ์ฑ์ด ํ๋ฉด์์ ์คํ ์ค์ธ ์ํ - Inactive: ์ฑ์ด ํ๋ฉด์์ ์คํ ์ค์ด๋ ์ด๋ค ์ ํธ๋ ๋ฐ์ง ์๋ ์ํ (ex. ๋ฏธ๋ฆฌ ์๋ฆผ์ด ๋ ์ ์ฑ์ด ์ค์ง์ ์ผ๋ก ์ด๋ฒคํธ๋ฅผ ๋ฐ์ง ๋ชปํ๋ ์ํ) 3) Background: ์ฑ์ด ํ๋ฉด์ ๋ณด์ด์ง ์๋ ์ํ (ex. Apple Music ํ๋ฉด์ด ๋ณด์ด์ง ์์๋ ์์ ์ด ์คํ๋๋ ๊ฒฝ์ฐ) 4) Suspen.. ์ด์ 1 2 3 4 5 6 7 8 ยทยทยท 20 ๋ค์