swiftUI
-
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)๋ถํฐ ์ฌ์ฉ๋ ํค์๋๋ก ๋ฐ๋ก ์ด์ด์ ์ค๋ช ํ๊ฒ ์ง๋ง..
-
UIKit์์ SwiftUI๋ก LifeCycle ๋ณํํ๊ธฐiOS 2022. 7. 14. 09:07
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์์ฃผ ๊ฐ๋จํ๊ฑธ ํด๋ณด๋ คํฉ๋๋ค! ๋ฐ๋ก UIKit ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ก๊ฑฐ๋ ์ฌ์ฉ๋๊ณ ์๋ ์ฑ์ SwiftUI ์ธํฐํ์ด์ค ๊ธฐ๋ฐ์ผ๋ก ๋ฐ๊ฟ๋ณด๋ ค๊ณ ํด์๐ ๋น์ฐํ ๋ฌผ๋ก ์ฒ์์ ํ๋ก์ ํธ ์์ฑ ์ Interface ๋ฐฉ์์ ์ ๊ณ ๋ฅด๋ฉด ์๊ด์๊ฒ ์ง๋ง ์์๋๋ฉด ์ข๊ฒ ์ฃ ๐บ๐ป Storyboard ๊ธฐ๋ฐ ํ๋ก์ ํธ ์์ฑ ์ฐ์ UIKit ๊ธฐ๋ฐ์ผ๋ก ํ๊ฒฝ ์ ํ ์ ํ๋ ค๋ฉด ํ๋ก์ ํธ ์์ฑ ์ Storyboard๋ก ์ธํฐํ์ด์ค ์ค์ ์ ํด์ค์ผํฉ๋๋ค. ์ด๋ฌ๋ฉด ์ค๋ ํ์ตํด๋ณผ ํ๋ก์ ํธ๊ฐ ์์ฑ๋ฉ๋๋ค. ์ ๊ธฐ์ ์์๊ฒ ์ง๋ง Interface๋ Storyboard ๊ทธ๋ฆฌ๊ณ SwiftUI ์ ๋๊ฐ๋ก ๋๋๋๋ค. SwiftUI๋ก ๋ง๋ค๊ฒ ๋๋ฉด ์คํ ๋ฆฌ๋ณด๋ ํ์ผ์ด๋ App/SceneDelegate ํ์ผ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์์ผ๋ฉฐ App ํ์ผ์ ๋ฉ์ธ ์..
-
SwiftUI 4.0 - NavigationPathSwiftUI 2022. 6. 23. 10:27
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI 4.0์์ ๋ค๋น๊ฒ์ด์ ๊ด๋ จํด์ ์๋ก์ด API๊ฐ ๋์ค๋ฉด์ ๋ธ๋ ค์จ NavigationPath์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐๐ป ์๋ง.. ์งง์๊ฑฐ๊ณ ์(๋ถ๋์ด) ์๋ง.. ์งง์๊ฒ๋๋ค(๋ด์ฉ์ด)๐บ๐ป ์ ๋ฒ ํฌ์คํ ์ด์๋ NavigationStack์ ์ดํด๋ณด๋ฉด์ SwiftUI์์ ๋ค๋น๊ฒ์ด์ ์ด ๋ง์ด ํธ๋ฆฌํด์ก๊ตฌ๋~ ์ธ๋ง ๋๊ฒ ๋๋ฐ? ๋ผ๊ณ ํ์ตํ๋ฉด์ ๋๊ผ์ด์! ํน์ ๊ถ๊ธํ์๊ฑฐ๋ ์๋ณด์ ๋ถ๋ค์ ์๋ NavigationStack ํฌ์คํ ์ ์ ํํด์ฃผ์ธ์๐ https://green1229.tistory.com/256 SwiftUI 4.0 - NavigationStack ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI 4.0์์ ๋ฐํ๋ NavigationStack์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋..
-
SwiftUI 4.0 - NavigationStackSwiftUI 2022. 6. 20. 11:17
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI 4.0์์ ๋ฐํ๋ NavigationStack์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ ๋ค์ด๊ฐ๊ธฐ์ ์ฃผ์ ์ฃผ์ ๊ฐ์ธ์ ์ผ๋ก ์ด๋ฒ SwiftUI 4.0 ์ ๋ฐ์ดํธ ์ฌํญ์ด ์ข์๊ฒ๋ค์ด ์ฐธ ๋ง์์ง๋ง ์ด๋ฒ ์๊ฐํ ๊ฒ์ด ๊ฐ์ฅ ๊ธฐ๋๋ฉ๋๋ค! ๊ทธ๋งํผ ์ด์ SwiftUI 3.0์์๋ ๋ฏธ๋๋ฉ ํ๊ฒ์ ๋ฐ๋ผ ๋ค๋น๊ฒ์ด์ ๊ณผ ๊ด๋ จ๋ ์ด์๋ค์ด ๋ง์๊ณ ์ฐธ ํ๋ค์์ด์๐ญ ๋ฌผ๋ก ํด๋น ๊ธฐ์ ์ ์ ์ฉํ๋ ค๋ฉด iOS 16.0 ์ด์์ด ๋์ด์ผํ๊ธฐ์ ์์ง ํ์ ์์ ์ ์ฉ์ํค๊ธฐ์ ๋จผ ๋ฏธ๋์ ์ผ์ด๊ธฐ๋ ํ๊ฒ ์ง๋ง ๋จผ ๋ฏธ๋๋ฅผ ์ํด ์ง๊ธ ํด๋์ฃ โจ NavigationStack์ด๋? ๋ค๋น๊ฒ์ด์ ์คํํ๋ฉด ๋ญ์ง ๋ฑ ๊ฐ์ด ์ค์์ฃ ? ๋ค๋น๊ฒ์ด์ ์ฆ ๋ทฐ, ํ๋ฉด ์ ํ์ ๋ค๋น๊ฒ์ด์ ๋ฐฉ์์ด ์์ต๋๋ค. ์์ ํ ํ๋ฆ์ด ๋ค๋ฅธ ๋ทฐ๋ก ๋์ด๊ฐ๊ฒ ๋๋ ๋ฐฉ์์ด์ฃ . ์ด ..
-
SwiftUI 4.0 - ChartsSwiftUI 2022. 6. 10. 07:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ๋๋์ด...!!!!! SwiftUI 4.0์ด ๋์๋ค์ใ ใ ์ด๋ฒ SwiftUI 4.0์์๋ ์ ๊ฐ ์๊ฐํ ๋๋ ์ ๋ง ์ฅ์กฑ์ ๋ฐ์ ์ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค๐ ํนํ ๋ค๋น๊ฒ์ด์ ๋ ๊ทธ๋ ๊ณ .. ๋ค๋น๊ฒ์ด์ ๋...... ๊ทธ๋ ๊ณ ..... ๋ฌดํผ! ์ค๋์ ์ฃผ์ ๋ SwiftUI 4.0์์ ์๋ก ๋์จ API์ธ Charts๋ฅผ ์๊ฐํด๋ณผ๊น ํฉ๋๋ค๐๐ป SwiftUI 4.0์์ ๋ง์ ๊ธฐ์ ๋ค์ด ๋์ ๋์๊ณ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ ๋ง์ต๋๋ค. ์ด์ ํ ํฌ์คํ ์์ ๋ค ๋ค๋ฃจ๋๊ฒ๋ณด๋ค ํ๋์ฉ ์กฐ๊ธ ๋ํ ์ผํ๊ฒ ๋ค๋ค๋ณด๊ธฐ ์ํด ํฌ์คํ ์ ๋๋๊ฒ ์ต๋๋ค๐ Charts? ์ฐจํธ๊ฐ ๋ญ๊น์? ๋ค๋ค ์์๋ ๊ทธ๊ฑฐ์ ๋๋คใ ใ ์ฐจํธ๋ ๊ทธ๋ํ ๋ฑ ์์น๋ฅผ ๊ฐ์ง๊ณ ์ด๋ ํ ์งํ๋ฅผ ๋์ํํด ๋ณด์ฌ์ฃผ๋๊ฒ์ ๋งํ์ฃ . ๊ธฐ์กด์ ์ฐ๋ฆฌ๋ ์ฐจํธ๋ฅผ ๊ทธ๋ฆฌ๋ ค๋ฉด ์ ๋ง ์ฉ์ผ๋ก Path๋ฅผ ์ฃผ๊ณ ์ผ์ผํ ..
-
NukeUILibrary 2022. 6. 2. 14:31
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์ด๋ฏธ์ง ์บ์ฑ์ ์ฒ๋ฆฌํด์ฃผ๋ NukeUI์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ ์ด๋ฏธ์ง ์บ์ฑ์ ์ฒ๋ฆฌํด์ฃผ๋๋ก ๋์์ฃผ๋ ๋ํ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก Kingfisher์ NukeUI๊ฐ ์์ฃ ? ๊ทธ๋ฆฌ๊ณ ์์ฆ์ ์ ํ์์ ์ ๊ณตํ๋ AsyncImage๋ก๋ ๋ง์ด ์ฐ์ด๋๊ฒ ๊ฐ๋๋ผ๊ตฌ์. ์ ๋ ์ด์ค์ NukeUI๊ฐ ํธ๋ฆฌํ๋ค๊ณ ์๊ฐํ๊ณ ์ฑ๋ฅ ์ ์ด์ ๋ ์กด์ฌํ๊ธฐ์ ์ด๋ฅผ ํ์ตํด๋ดค์ด์. ๊ทธ๋ผ NukeUI๊ฐ ์ด๋ค๊ฒ์ด๊ณ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ ์๋์ง ์์ธํ ์์๋ณด์์ฃ ! NukeUI? ์์๋ค์ํผ Nuke๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ํ์๋์์ด์. SwiftUI ํ๊ฒฝ์ ๊ฐ์ฅ ์ต์ ํ์์ผ LazyStack๊ณผ ๊ฐ์ด ์ง์ฐ ์ด๋ฏธ์ง ๋ก๋ฉ์ ์ ๊ณตํด์ค๋๋ค. ์ฆ AsyncImage์ ๋น์ทํ๋ค๊ณ ํ ์ ์๊ฒ ์ด์! ๊ธฐ์กด SwiftUI์์ Image๋ผ๋ ๊ธฐ๋ฅ..
-
LottieLibrary 2022. 4. 12. 19:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Lottie๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์์๋ณด๋ คํฉ๋๋ค๐ง ์ ๋๋ฉ์ด์ ์ ํญ์ ์ด๋ ค์ด๋ฐ... ์ ๋ง ์ด๋ ค์ด๋ฐ๐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ์์ ์ ๊ณตํด์ฃผ๋ API๋ค๋ก๋ง ํ๊ธฐ์๋ ์ ๋จธ๋ฆฌ๊ฐ ์๋ฐ๋ผ๊ฐ๊ณ ๊ฐ๊ฐ๋ ์๊ณ ๐ญ ๊ทธ๋ด๋ ๋ง์ด ์ฌ์ฉํ๋๊ฒ Lottie๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋๋ผ๊ตฌ์! ๊ทธ๋์ ์ค๋ ํ๋ฒ ์ Lottie๋ฅผ ๊ฐ๋จํ ํด๋ณด๋ คํฉ๋๋คใ ใ Lottie? Lottie๋ airbnb์์ ๋ง๋ ๊ฒ ๊ฐ์์! ์ฐ์ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฆฌ๋๋ฏธ ์ค๋ช ์ ๋ณด๊ฒ ์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฒกํฐ ๊ธฐ๋ฐ ์ ๋๋ฉ์ด์ ๊ณผ ์ํธ๋ฅผ ์ต์ํ์ ์ฝ๋๋ก ์ค์๊ฐ ๋ ๋๋งํด์ฃผ๋ iOS/Android์์ ๋ชจ๋ ์ง์ ๊ฐ๋ฅํ ๋ชจ๋ฐ์ผ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. Bodymovin JSON ํ์์ผ๋ก ๋ด๋ณด๋ด์ง ์ ๋๋ฉ์ด์ ๊ณผ ๋ฒกํฐ๋ฅผ ๋ก๋ํด ๋ ๋๋งํด์ค๋ค๊ณ ํด์๐ค Bodymovin J..