ios
-
ํ๋ก์ ํธ ํ์ผ ๊ตฌ์กฐ ๋ฐ ๋ค์ด๋ฐ์ ๋ํด (with. TCA & Coordinator ํจํด)iOS 2022. 8. 20. 11:40
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์ ๋ถ๋์ ์์ฃผ์์ฃผ ์งง์ต๋๋ค! ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๋ชจ๋ํ๋ ํ๋ก์ ํธ์ ํต์ผ๋ ํ์ผ ๊ตฌ์กฐ๋ฅผ ์ก์๊ฐ๊ณ ๋ค์ด๋ฐ์ ๋ํด ๊ณ ๋ฏผํจ์ ์์ด ๊ธฐ์ค์ ์ผ๊ณ ์ ํด๋ณธ๊ฑธ ๊ณต์ ํด๋ณผ๊นํฉ๋๋ค๐ ํ๋ฆฌ๋ทฐ ์ฐ์ ๋ค์ด๊ฐ๊ธฐ์ ์์ ํ๋ก์ ํธ์ ํฐ ํ์ ์ค๋ช ํด๋ด์ผ ์ดํด๊ฐ ์ฌ์ธ๊ฒ ๊ฐ์์. ์ํคํ ์ณ๋ก๋ TCA(The Composable Architecture)๋ฅผ ์ฌ์ฉํ๊ฒ ๋ ๊ฒ์ด๊ณ ์ฝ๋๋ค์ดํฐ ํจํด์ ์ ์ฉํ์ฌ ํ๋ฉด ์ ํ์ ๋ด๋นํด์ค๋๋ค. TCA์ ์ ํฉํ ์ฝ๋๋ค์ดํฐ ํจํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ TCACoordinators๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ชฐ๋ผ๋ ์ด๋ฒ ํฌ์คํ ์ ์ ํ ์ ํ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. ๋จ์ง ์ฝ๋๋ค์ดํฐ ํจํด๋ง ์๊ณ ๊ณ์๋ฉด ๋ฉ๋๋ค! ๊ทธ๋ผ์๋ ํน์ ์ด๊ฒ์ด ๋ญ์ง ๊ถ๊ธํ์๋ค๋ฉด ์๋ ํฌ์คํ ์ ์ฐธ๊ณ ํด์ฃผ์ธ์๐..
-
TCACoordinatorsLibrary 2022. 8. 15. 18:32
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ TCACoordinators๋ผ๋ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐๐ป ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊น ์ฃผ์๋ ์๋์ ๊ฐ์ต๋๋ค! https://github.com/johnpatrickmorgan/TCACoordinators GitHub - johnpatrickmorgan/TCACoordinators: Powerful navigation in the Composable Architecture via the coordinator pattern Powerful navigation in the Composable Architecture via the coordinator pattern - GitHub - johnpatrickmorgan/TCACoordinators: Powerf..
-
์ฑ ๋ด ์ด๋ฒคํธ ์์ํ๊ธฐ & ์ฑ ๋ด ๊ตฌ์ ์ ๊ฐ์กฑ ๊ณต์ ์์๋ณด๊ธฐApp Store 2022. 8. 11. 10:17
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ๊ธ์ฃผ๋ถํฐ ์ ํ์์ ์ฃผ๊ดํ๋ ์ฑ ์คํ ์ด ์ด๋ฒคํธ ํ๊ตญ ์จ๋ผ์ธ ์ธ์ ์ด ์์๋์ต๋๋ค๐ ํด๋น ์ด๋ฒคํธ๋ ์ฑ๊ฐํด, ํ ๋ก ํ , ์ฟ ํผํฐ๋ ธ, ๋ฒ ์ด์ง, ๋ธ๋ฆฌ, ๋๋ฐ์ด, ์คํกํ๋ฆ, ๋ฉ์์ฝ ์ํฐ, ์๋๋, ๋์ฟ, ์์ธ ๋ฑ์์ ๋์ผํ ์ฃผ์ ๋ฅผ ๊ฐ์ง๊ณ ๊ฐ ๋๋ผ๋ณ๋ก ์ด๋ฆฌ๊ฒ ๋ฉ๋๋ค. ์ฆ ์์ธ์์ ์ด๋ฆฌ๋ ์ธ์ ๋ง ์ฐธ์ฌํด๋ ์ด๋ฒคํธ ๊ด๋ จ ์ ํ ์ฃผ๊ด ๋ชจ๋ ์ธ์ ์ ์ฐธ์ฌํ๋๊ฒ์ ๋๋ค. ๊ทธ๋ ๊ธฐ์ ์ ๋ ๋ชจ๋ ์ธ์ ์ ๊ฐ๋ณ๊ฒ ๋ค์ด๋ณด๊ณ ์ ์ ์ฒญ์ ํด๋๊ณ ๊ธ์ฃผ ์งํ๋ ์ธ์ ์ ๋ํด ๊ฐ๋จํ ์ ๋ฆฌ๋ฅผ ํด๋ณด๊ณ ์ ํฉ๋๋ค! ์ฃผ์ ๋ ๋๊ฐ์ง์ ๋๋ค. ์ฑ ๋ด ์ด๋ฒคํธ ์์ํ๊ธฐ์ ์ฑ ๋ด ๊ตฌ์ ์ ๊ฐ์กฑ ๊ณต์ ์์๋ณด๊ธฐ ์ ๋๋ค. ์ฐธ๊ณ ๋ก, ํด๋น ์ค์ผ์ฅด์ ๋ํ ๋งํฌ๋ ์๋ ๋ฐ๋ก ๊ณต์ ๋๋ฆฝ๋๋ค. (๋ค๋ง ์ด๋ฏธ ์งํ๋ ์ค์ผ์ฅด์ ๋ํด ์ฌ์ ์์ฝ์ ๋ฐ์๊ธฐ์ ์ถ๊ฐ๋ก ์ ์ฒญํ์ฌ ๋ค์ ์ ..
-
์ต์ ๋์ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ๋คSwift 2022. 8. 8. 12:16
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Swift์์ ์ต์ ๋์ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ๋ค์ ๋ํด ์๊ฐํ๋ ค ํฉ๋๋ค๐ ์ฐ์ ์ต์ ๋ ์ฐธ ๋ง์ด ๋ค์ด๋ณด์ จ์ฃ ? Swift๋ฅผ ์ตํ๋ฉด์ ๋น์ฐํ ์๋ค์ด๋ณผ ์ ์์์ํ ๊ณ ์. ๊ทธ๋ผ ์ฐ์ ์์ฃผ ์ฌํํ๊ฒ ํ๋ฆฌ๋ทฐ๋ก ์ต์ ๋์ด ๋ญ์ง ๋ฑ ๊ฐ๋ตํ๊ฒ ์ ์ํ๊ณ ๊ฐ์ฃ ! ์ต์ ๋(Optional)? Swift ์ธ์ด์ ๋ํ์ ์ธ ํ๋์ ํน์ฑ์ ์์ ์ฑ์ ๋๋ค. ์ฆ ๋ฐํ์ ์ ์๋ฌ๊ฐ ๋ ๋ ์ด ์ค๋ฅ๋ฅผ nil๊ฐ์ ๋ฐํํด์ค๋๋ค. ๊ทธ ์ด์ ๋ ๋ค์ด์จ nil๊ฐ์ ์บ์นํด ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ด์์ ์ฒ๋ฆฌํ ์ ์๋๋ก ํ๊ธฐ ์ํจ์ด์ฃ . ๊ทธ๋ ๋ค๋ฉด ์ด nil๊ฐ์ ๋ฐ์ ์ ์๋ ํ์ ์ด ํ์ํ ๊ฑฐ์์. ๊ธฐ๋ณธ ์๋ฃํ ํ์ ๋ค์์๋ nil๊ฐ์ ๋ฐ์ ์ ์ฑ ํฌ๋์ฌ๊ฐ ๋ ๊ฑฐ๋๊น์. ๊ทธ๋ ๊ธฐ ์ํด ์ต์ ๋์ด ์กด์ฌํฉ๋๋ค. ์ฆ ๋ง ๊ทธ๋๋ก ์ต์ ๋ํ๊ธฐ์ "๊ฐ์ด ์์์๋ ..
-
NSCache vs URLCacheiOS 2022. 8. 1. 10:25
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์ค๋๋ง์ ๊ฐ๋จํ ์ฃผ์ ์ธ NSCache์ URLCache์ ์ฐจ์ด๋ฅผ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค๐ ๊ทธ๋ผ ๋ณธ๋ก ์ผ๋ก ๋ฐ๋ก ๋ค์ด๊ฐ์์ฃ ! ์ฐ์ ๋๋ค Cache๋ผ๋ ๊ฐ๋ ์์๋ ๋์ผํ ๊ฑฐ์์. ๊ทธ๋ผ Cache๊ฐ ๋ญ์ง ๊ฐ๋จํ ์ดํด๋ณผ๊น์? Cache๋? ์บ์์ ์ ์๋ ๋ฐ์ดํฐ๋ ๊ฐ์ ๋ฏธ๋ฆฌ ๋ณต์ฌํด ๋๋ ์์ ์ฅ์๋ฅผ ๋งํฉ๋๋ค. ์บ์๋ ์บ์์ ์ ๊ทผ ์๊ฐ์ ๋นํด ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทผํ๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ ํน์ ๊ฐ์ ๋ค์ ๊ณ์ฐํ๋ ์๊ฐ์ ์ธ์ด๋ธ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋ฉ๋๋ค. ์บ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๋ณต์ฌํด ๋์ผ๋ฉด ๊ณ์ฐ์ด๋ ์ ๊ทผ ์๊ฐ ์์ด ๋ ๋น ๋ฅธ ์๋๋ก ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์์ต๋๋ค. ๊ทธ๋ผ์ผ๋ก ์บ์๋ ์์คํ ์ ํจ์จ์ฑ์ ์ํด ์ฌ๋ฌ ๋ถ์ผ์์ ๋๋ฃจ ์ฐ์ด๊ณ ์์ต๋๋ค. ์ด๊ฒ์ด ์บ์์ ์ ์์ ๋๋ค. iOS์์ ์ฌ์ฉ..
-
SkeletonUILibrary 2022. 7. 25. 10:30
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์์ฃผ ์์ ๋ถํฐ ๊ถ๊ธํ์๋๋ฐ ๊น๋จน๊ณ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ๋ ๋ณด๊ณ ๊ฐ๋ ค๊ณ ํฉ๋๋คใ ใ ๋ฐ๋ก SkeletonUI ๋ผ๋ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ฌ๋ ํจ์นญ์ด ์๋ฃ๋๊ธฐ์ ์ ๋น ๊ณต๊ฐ์ผ๋ก UI๋ฅผ ๋ณด์ฌ์ฃผ๋๊ฒ๋ณด๋ค ์๋์ ๊ฐ์ ์ด๋ฌํ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ฌ ์์ญ์ ๋ํด ๋ผ๋๋ฅผ ์ก๋๊ฒ์ด๋ผ ๋ณด๋ฉด ๋ ๊ฒ ๊ฐ์์. ์ด๋ก ์ธํด ์กฐ๊ธ ๋ ์์ฐ์ค๋ฌ์ด UI ๊ฒฝํ์ ์์ผ์ค ์ ์์ผ๋ฉฐ ๋น ๋ทฐ๋ก ๋์ค๋ฉด ๋ฒ๊ทธ๋ผ๊ณ ์ธ์ํ๊ธฐ ์ฌ์ด ๋ฐ๋ฉด ์ด๋ฐ๊ฒ๋ค์ ์ ์ฉ์์ผ๋๋ฉด ๋ก๋ฉ์ค์ด๊ตฌ๋~ ๋ผ๊ณ ์ธ์ํ ์ ์์ด ์ฌ์ฉ์ ๊ฒฝํ์ ๋ ์ข์ ์ํฅ์ ๋ผ์นฉ๋๋ค๐ ๊ทธ๋ผ ์ด๊ฑธ ์ฝ๊ฒ ๊ตฌํํด๋์ SkeletonUI์ ๋ํด ์์๋ณด์์ฃ ! ์๋ง ์์ฃผ ๊ฐ๋จํ ๊ฒ ๊ฐ์์ ์ด๋ฒ ํฌ์คํ ์ใ ใ SkeletonUI? ๊ณต์ ๋ฆฌ๋๋ฏธ์์์ ์ค๋ช ์ด ์์ฃผ ๊ฐ๋จํ ๋์ด ..
-
@main vs @UIApplicationMainiOS 2022. 7. 21. 09:32
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ @main๊ณผ @UIApplicationMain์ด ๋ฌด์์ธ์ง ๊ทธ๋ฆฌ๊ณ ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ swift 5.3 ์ด์ ๋ถํฐ Xcode๋ฅผ ํตํด ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด๋ณด์๊ณ ๊ฒฝํํด๋ณด์ ๋ถ์ด๋ผ๋ฉด ์ด ๋ ํค์๋์ ๋ํด ๋ชจ๋ ๋ณด์ จ์๊ฑฐ์์. ๊ทธ๋ผ ์ค์ ์ ์ผ๋ก ์ด ๋ ํค์๋๋ ์ด๋ค ์น๊ตฌ๊ณ , ๋ฌด์จ ์ฐจ์ด์ด๋ฉฐ ์ด๋ค๊ฑธ์จ์ผํ๋์ง์ ๋ํด์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค! @main ์ฝ๊ฒ ๋งํด ์ด ํค์๋๋ ํ๋ก๊ทธ๋จ์ ์ง์ ์ ์ ๋ํ๋ด์ค๋๋ค. ์ด๋ ํ๋ก๊ทธ๋จ์ด๋์ง ์์์ ์ฆ Entry Point๋ ์กด์ฌํด์ผํ์ฃ . Swift์์๋ @main์ ํตํด ์ด๋์๋ถํฐ ์ด ์ฑ์ด ์ต์ด ์คํ๋๊ณ ์์๋ ์ง๋ฅผ ๋ช ์ํด์ฃผ๋ ํค์๋์ ๋๋ค. ์ด ํค์๋๋ Swift 5.3 ์ด์(Xcode 12)๋ถํฐ ์ฌ์ฉ๋ ํค์๋๋ก ๋ฐ๋ก ์ด์ด์ ์ค๋ช ํ๊ฒ ์ง๋ง..
-
Tuist ๋์ ์ผ๋ก swiftGen ๊ฒ์ด๋ด๊ธฐ (with. TuistGenerator)Tuist 2022. 7. 18. 11:08
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Tuist๋ฅผ ๋์ ํจ์ผ๋ก TuistGenerator๋ฅผ ํตํด ์์ ๋ฑ์ ๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ์ ๊ณตํด์ค์ผ๋ก ๊ธฐ์กด ์ฌ์ฉํ๋ swiftGen์ ๊ฑท์ด๋ด๋ฉฐ ์ด๋ป๊ฒ ๋์ฒดํ์ฌ ์ฌ์ฉํ๋์ง ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ ํน์ Tuist๊ฐ ๋ฌด์์ธ์ง ์ ํ์ด ํ์ํ์๋ค๋ฉด ์ ์๋๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์! https://green1229.tistory.com/262 Tuist ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ๋๋ง์ Tuist์ ๋ํด ์์๋ณด๊ณ ๋์ ํด๋ณด๊ฒ ์ต๋๋ค๐ ์ฐ์ ๋ค๋ค Tuist์ ๋ํด ๋ค์ด๋ณด์ จ๋์? ํ์ ์์ ํ๋ก์ ํธ๋ฅผ ํ๊ณ ๊ณ์๋ค๋ฉด ์๋ง ์ฌ์ฉํ๋ ์ํ green1229.tistory.com ์ฐธ๊ณ ๋ก swiftGen์ R.swift์ฒ๋ผ ์์ ๋ฆฌ์์ค๋ฅผ ์ฝ๋ํ ์์ผ ๊ด๋ฆฌํ๊ณ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ..