QoS ( Quality of Service ) QoS๋ ์๋น์ค์ ํ์ง์ด๋ค. DispatchQueue์ ์์ ์ ์ฐ์ ์ ์ผ๋ก ๋ถ๋ฅํ๋๋ฐ ๋์์ ์ค๋ค. ๊ฐ๋ฐ์๋ ์ค์๋์ ๋ฐ๋ผ ์ฑ ์์ ์ ๋ถ๋ฅํด ์์คํ ์ ์ฐ์ ์์๋ฅผ ๋ณด๋ค ํจ๊ณผ์ ์ผ๋ก ์ง์ ํ ์ ์๋ค. ์ต์ ์ ์๊ฐ๊น์ง ์์ ์ ์ฐ๊ธฐํ๋ ๊ฒ๊ณผ ๋น์ทํ๊ฒ ๋ค๋ฅธ ํจ์จ์ฑ ์ฒ๋ฆฌ๋ฅผ ๊ตฌํํ ๊ฒฝ์ฐ์๋ ์์คํ ์ ์ฌ์ ํ ์ผ์ ์์ค์ ์ฐ์ ์์๋ฅผ ์ํํด์ผ ํ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฑ์ด ์ํํ๋ ์์ ์ ๋ถ๋ฅํ๋ ๊ฒ์ ์ค์ํ๋ค. QoS์ class ์ ๋ณด ์๋น์ค ํ์ง(QoS) ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ํํ ์์ ์ NSOperation, NSOperationQueue, NSThread๊ฐ์ฒด, ๋์คํจ์น ๋๊ธฐ์ด ๋ฐ pthread(POSIX ์ค๋ ๋)๋ก ๋ถ๋ฅํ ์ ์๋ค. ์์ ์ QoS๋ฅผ ํ ๋นํ์ฌ ์ค์๋๋ฅผ ํ์ํ๋ฉด..
SnapKit SnapKit์ ์ฌ์ฉํด๋ณด๋ฉด์ ํท๊ฐ๋ ธ๋ ๋ถ๋ถ ์ ๋ฆฌ - offset/inset - translateAutoresizingMaskIntoContraints ๐ offset / inset ๐กoffset ์ฌ์ฉ์ 'ํ์ฌ ๋ทฐ constraint = ์ํผ๋ทฐ constraint + offset ๊ฐ'์ ์๊ฐํ๊ณ ์ค์ ํ๋ค. label.snp.makeConstraints { make in make.top.equalToSuperview().offset(50) make.left.equalToSuperview().offset(50) make.right.equalToSuperview().offset(-50) make.bottom.equalToSuperview().offset(-50) } ๊ธฐ์ค์ด ๋๋ View์ ๋ง์ถฐ์ ..
ํ๋กํ ์ฝ ์งํฅ ํ๋ก๊ทธ๋๋ฐ Protocol - Oriented Programming ํ๋กํ ์ฝ ์งํฅ ํ๋ก๊ทธ๋๋ฐ ํํ ์๊ณ ์๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ : ์ฌ๋ฌผ์ ๊ฐ์ฒด๋ก ํ์ฑํ์ฌ ๊ณตํต์ ์ ๊ฐ๋ ๋ชจ๋ ๊ณณ์์ ์์๋ฐ๋ ๊ฐ์ฒด ๋ด๋ถ์ ๋ชจ๋ ๋ก์ง์ ์บก์ํํ๋ค. ์๋ ํ์ง ์์๋ ์์ํ๋ค๋ ์ด์ ๋ก ๋ชจ๋ ์์ฑ๊ณผ ํ์๋ฅผ ๊ณต์ ํด์ผํ๋ฉฐ, ๋ณต์กํ ์์ ๊ตฌ์กฐ๋ฅผ ์ง๋ ํด๋์ค๋ฅผ ์์ํ๋ค๋ฉด ์ํ๋ ํด๋์ค๋ฅผ ์ฐธ์กฐํด์ผ ํ ๋ ๋ค์ด์บ์คํ ์ ํด์ผ ํ๋ค. ๋ํ ํฐ ๋จ์ ์ ๋จ ํ๋์ SuperClass๋ง ์์ํ ์ ์๋ค๋ ์ ์ด๋ค. ์๊ฐ์ด ํ๋ฅด๋ฉด ๊ธฐ๋ฅ๋ ํ์ฅํ๊ธฐ ๋ง๋ จ์ด๋ฏ๋ก ๋ณต์ก๋๋ ๋์์ง๊ณ ๊ด๋ฆฌ๋ ์ด๋ ค์์ง๋ค. ํ๋กํ ์ฝ ์งํฅ ํ๋ก๊ทธ๋๋ฐ : ํ์ํ ๋ถ๋ถ๋ง ํ๋กํ ์ฝ๋ก ๋ถ๋ฆฌํด์ ๋ง๋ค ์ ์๊ณ ๋ค์ค ํ๋กํ ์ฝ์ ๊ตฌํํ ์ ์๋ค. ๊ฒ๋ค๊ฐ ํ๋กํ ์ฝ ๊ท์น์ clas..
์ ๋ค๋ฆญ ์ ๋ค๋ฆญ์ด๋ ? ํ์ ์ ์์กดํ์ง ์๋ ๋ฒ์ฉ ์ฝ๋๋ฅผ ์์ฑ ํ ๋๋ง๋ค ์ฌ์ฉํ๋ค. ์ ๋ค๋ฆญ์ ์ฌ์ฉํ๋ฉด ์ค๋ณต์ ํผํ๊ณ , ์ฝ๋๋ฅผ ์ ์ฐํ๊ฒ ์์ฑํ ์ ์๋ค. Apple์ ์ํ๋ฉด Swift์์ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ค ํ๋์ด๋ฉฐ, Swift ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค์๋ ์ ๋ค๋ฆญ์ผ๋ก ์ ์ธ๋์ด ์๋ค. ์๋ฅผ ๋ค์ด Array, Dictionary ๋ํ ์ ๋ค๋ฆญํ์ ์ด๋ค. ์ ๋ค๋ฆญ ํจ์ ๋๊ฐ์ ์ธ์๋ฅผ ๋ฐ์ Intํ์ ์ ๊ฐ์ swapํ๋ ํจ์๋ฅผ ๊ตฌํํ๋ค๋ฉด, func swapTwoInts(_ a: inout Int, _ b: inout Int) { let tempA = a a = b b = tempA } ์ด๋ ๊ฒ ๊ตฌํํ๋ค. ํ๋ผ๋ฏธํฐ๊ฐ ๋ชจ๋ Intํ ์ผ๊ฒฝ์ฐ์ ์ ๋์๊ฐ๋ ์ฝ๋์ด๋ค. ํ์ง๋ง ๋ง์ฝ์ ํ๋ผ๋ฏธํฐ ๊ฐ์ด Double, String์ผ ๊ฒฝ์ฐ์..
์์ฃผ ๋ฐ์ํ๋ iOS ์ฑ ์ฌ์ฌ ๋ฆฌ์ ์ฌ์ 1. ์์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ์ ์ฉ ์ ์ ํ ๋ก๊ทธ์ธ ์ ์ฉ ์นด์นด์ค ๋ก๊ทธ์ธ๊ฐ์ SNS ๋ก๊ทธ์ธ๊ธฐ๋ฅ์ด ์ฑ์ ๋ค์ด๊ฐ๋ค๋ฉด ์ ํ ๋ก๊ทธ์ธ๋ ๊ฐ์ด ๊ตฌํ ํ ๊ฒ ex) firebase Auth๋ก ๊ฐ๋จํ ์ด๋ฉ์ผ ๋ก๊ทธ์ธ ๊ตฌํ์ ์ ํ ๋ก๊ทธ์ธ ๊ตฌํ ํ์ X 2. ํ ํ๋ซํผ ๋ฌธ๊ตฌ๋ ์์ด์ฝ ์ฌ์ฉ ๊ธ์ง iOS ์ฑ์ ๊ตฌ๊ธ์ด๋ผ๋ ๋จ์ด๋ ๊ตฌ๊ธ ํ๋ ์ด์คํ ์ด ๋ฑ์ ์ปจํ ์ธ ๊ฐ ์๋ค๋ฉด ๋ฆฌ์ ์ฌ์ ๊ฐ ๋๋ค. ์๋ฅผ ๋ค๋ฉด ์ด๋ฒคํธ ํ์ ์ผ๋ก ๊ตฌ๊ธ ํ๋ ์ด ์คํ ์ด ๋งํฌ๋ ์๋๋ก์ด๋ ์ฑ ์ถ์ ์๋ฃ ๊ฐ์ ๋ฌธ๊ตฌ๋ฅผ ๋์ด์ค๋ค๋ฉด ๋ฆฌ์ ์ฌ์ ๋ค. 3. ๊ตฌํ๋์ง ์์ ๊ธฐ๋ฅ, ์ฑ ๋ฒ๊ทธ ( ํ๊น ) ๊ตฌํ๋์ง ์๋ ๊ธฐ๋ฅ์ ๋ฃ์ด๋ ๋ฆฌ์ ์ฌ์ ์ด๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ง ์ดฌ์ ๋ฒํผ์ด ์๋๋ฐ ํด๋น ๋ฒํผ์ ๋๋ฌ๋ ์๋ฌด ๋ฐ์์ ํ์ง ์์ผ๋ฉด ๋ฆฌ์ ์ฌ์ ๊ฐ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฑ์ด..
๐ Shadow & cornerRadius ์ผ๋ฐ์ ์ผ๋ก Shadow๋ Radius๋ฅผ ๊ฐ์ดํ๋ฉด ์ ์ฉ์ด ์๋๋๋ฐ, Cell์ ์ฝ๊ฒ ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค. func setUpLayout() { layer.shadowColor = UIColor.black.cgColor layer.shadowOpacity = 0.5 layer.shadowRadius = 10 contentView.layer.cornerRadius = 10 contentView.layer.masksToBounds = true } Cell ์์์ Layout ํ ๋ ์ด๋ ๊ฒ Cell์ Shadow๋ฅผ ๋ฃ๊ณ corner Radius๋ฅผ ์ ์ฉํด์ฃผ๋ฉด ๋๋ค. ๐ก CollectionView Cell์ ํ ๋๋ฆฌ ๋ฅ๊ทผํจ๊ณผ๋ง ์ ์ฉ ๐ก Button์ด๋ View์ ํ ๋๋ฆฌ ๋ฅ๊ธ๊ฒ l..
โ Struct Class ๋น๊ต iOS๊ฐ๋ฐ์๋ก ๋ฉด์ ์ ์ค๋นํ๋ค๋ณด๋ฉด Struct์ Class์ ์ฐจ์ด์ ์ด๋ผ๋ ์ง๋ฌธ์ ์์ฃผ ์ ํ๊ฒ ๋๋ค๊ณ ํ๋ค. ๊ทธ๋์ ํฌ์คํ ์ ํด๋ณด๊ณ ์ ํ๋ค. ๋จผ์ ๊ฐ๋จํ๊ฒ ์ฐจ์ด์ ์ ๋ณด์๋ฉด, "Struct๋ ๊ฐํ์ , Class๋ ์ฐธ์กฐํ์ " ์ ๋์ด๋ค. ์ด ์ง๋ฌธ์ ํตํด ARC๋ฅผ ํตํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ์ฐธ์กฐํ์ ๊ณผ ๊ฐ ํ์ ์ ์ฐจ์ด์ ๋ฑ์ ํจ๊ป ๋ตํ ์ ์์๊ฒ ๊ฐ๋ค. ์ฌ์ค Struct์ Class์ '์ฐจ์ด์ '๋ง ์๊ฐํ๋ค๋ฉด ๋ฌธ๋ฒ์ ์๋ ๋ด์ฉ์ ๊ณง์ด๊ณง๋๋ก ์ธ์ฐ๊ณ ๊ณต๋ถํด๋ ๋ ๊ฒ์ด๋ค. ํ์ง๋ง ์ด ์ง๋ฌธ์ด ๋ฉด์ ์์ ์์ฃผ ๋์จ๋ค๋๊ฒ์ ๋ํด์ ์๊ฐํด๋ณธ๋ค๋ฉด, iOS๊ฐ๋ฐ์์๊ฒ ์ด๋ค ์๋ฏธ๋ฅผ ๊ฐ๋ ์ง๋ฌธ์ธ์ง ์กฐ๊ธ ๋ ์๊ฐํด๋ณผ ํ์๊ฐ ์๋ค. ๊ฒฐ๊ตญ "๊ฐ๋ฐ์๊ฐ ๊ฐ์ฅ ์ค์ํ๊ฒ ๊ณ ๋ คํด์ผ ํ ๊ฒ ์ค ํ๋๋ ์ฑ๋ฅ์ด๊ณ , Struct์ Cl..
๐ Sematic versioning GitHub๋ฅผ ์ฐฝ์ ํ์ ๋ถ์ด ๊ธฐ์กด Versioning์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ณ ์ ๋์จ ๊ฒ Major . Minor . Patch ์ผ๋ฐ์ ์ธ ๊ท์น 1. ๋ฒ์ ๋ฒํธ๋ Major, Minor, Patch ํํ๋ก ๋ฐฐํฌํ๊ณ , Major, Minor, Patch๋ ๊ฐ๊ฐ ์์ฐ์์ด๊ณ ์ ๋ ์์ 0์ด ๋ถ์ด์๋ ์๋๋ค. 2. ๊ฐ ๋ฒํธ์ ์๋ ํญ์ ์ฆ๊ฐํด์ผ ํ๋ค. 3. ํน์ ๋ฒ์ ์ผ๋ก ํจํค์ง๋ฅผ ๋ฐฐํฌํ๊ณ ๋๋ฉด, ๊ทธ ๋ฒ์ ์ ๋ด์ฉ์ ์ ๋ ๋ณ๊ฒฝํ์ง ๋ง์์ผํ๋ค. ๋ณ๊ฒฝ๋ถ์ด ์๋ค๋ฉด ๋ฐ๋์ ์๋ก์ด ๋ฒ์ ์ผ๋ก ๋ฐฐํฌํ๋๋ก ํ๋ค. 4. Major ๋ฒ์ ์ด ๋ณ๊ฒฝ๋ ๋, Minor, Path๋ 0์ผ๋ก ์ด๊ธฐํํ๋ค. 5. Minor ๋ฒ์ ์ด ๋ณ๊ฒฝ๋ ๋, Path๋ 0์ผ๋ก ์ด๊ธฐํํ๋ค. Major ๋ฒ์ ์ฆ๊ฐ ํ์ ๋ฒ์ ๊ณผ ํธํ๋์ง ..