swiftUI
-
Overlay & ZStackSwiftUI 2021. 9. 10. 20:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Overlay์ ZStack์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป ์ ์์์ผํ์ฃ ? SwiftUI๋ก ๋ทฐ๋ฅผ ๊ตฌ์ฑํ๋ค๋ณด๋ฉด Overlay์ ZStack์ด ๋น์ทํ ๊ธฐ๋ฅ์ ํด์ค๋ค๋ ์ธ์์ ๋ฐ์์ต๋๋ค. ๋์ผํ๊ฒ ๋ทฐ ์์ ๋ค๋ฅธ ์ด๋ ํ UI๋ฅผ ์น์ด์ฃผ๋๊ฒ์ด์ฃ . ๊ทธ๋ฐ๋ฐ ๋ถ๋ช ํ ๋ ๋ฐฉ์์ ์ฐจ์ด๊ฐ ์๋๋ฐ ์์๋ณด๊ธธ ๋ฏธ๋ฃจ๋ค๊ฐ ์ด์ ์ผ ์์๋ณด๊ฒ ๋์์ต๋๋ค๐ฅฒ ๊ทธ๋ผ ์ด๋ค์ ์์ ๋น์ทํ๊ณ ์ฐจ์ด๊ฐ ์๋์ง ๊ทธ๋ฆฌ๊ณ ๋ทฐ๊ฐ ์ด๋ป๊ฒ ์น์ด์ ธ ๋ณด์ด๊ฒ ๋๋์ง ์์๋ณด๊ฒ ์ต๋๋ค! Overlay ์ฐ์ ์ค๋ฒ๋ ์ด์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ์ค๋ฒ๋ ์ด๋ ํ์ฌ ๋ทฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ ๋ทฐ๋ฅผ ์น์ด์ค๋๋ค. ์ฆ ๋ฐ๋ก ์์ ๋ทฐ์ ํ์ ๋ทฐ๊ฐ ์ฐ๊ด์ฑ์ด ์๋ค๊ณ ๋ณผ ์ ์์ผ๋ฉฐ ๋ค๋ฅธ ๋ทฐ์๋ ์ํฅ์ ๋ผ์น์ง ์์ต๋๋ค. ์ฆ ์ ์ฒด์ ์ธ ๋ทฐ์ ์์๋ก ์๋ฆฌ์ก์ ๊ตฌ์ฑ๋๊ธฐ ๋ณด๋ค..
-
Composable Architecture๋ก ๋๋ค ํต์ ๊ตฌํํ๊ธฐTCA 2021. 7. 17. 15:32
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Composable Architecture์ผ๋ก ๋๋คํ ํต์ ์ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป ๋ทฐ๋ SwiftUI๋ฅผ ํตํด ๊ฐ๋จํ ๊ตฌํํ์์ต๋๋ค. ์ฐ์ ๊ฐ๋ตํ ๊ธฐ๋ฅ์ ์ค๋ช ๋๋ฆฌ๊ฒ ์ต๋๋ค. Composable Architecture๋ฅผ ์ด์ฉํ์ฌ ๋ทฐ์ ์ํ๋ฅผ ์ด๋ฒคํธ ํ๋ฆ์ ๋ฐ๋ผ ๋ค๋ฃฐ ์ ์๋ ์์ฃผ ๊ฐ๋จํ ์์ ๋ก ํต์ ์ GET์ ID ์ธ๋ฑ์ค๋ฅผ ๋๊ฒจ ํต์ ํ ๋ ํด๋น ์ธ๋ฑ์ค๋ฅผ ๋๋คํ๊ฒ ๋ฝ๊ณ ํต์ ๋ฐ ํ์ฑํ ํ ID์ ํ์ดํ์ UI์ 3์ด๋ง๋ค ์๋ ๊ฐฑ์ ๋๋๋ก ๋ทฐ๋ฅผ ์ ๋ฐ์ดํธ ํ๋ ๊ธฐ๋ฅ์ ๊ฐ์ง๋๋ค๐ง๐ป๐ป ๋ํ ์๋/์๋ ๋ณ๊ฒฝ ๋ฒํผ์ ๋์ด ํด๋น ์กฐ๊ฑด์ ๋ฐ๋ผ ํต์ ๋๋๋ก ๊ตฌํํฉ๋๋ค. (์ด์ ์ ReactorKit์ผ๋ก ๋๋ค ํต์ ์ ๊ตฌํํ ์คํ๊ณผ ๋์ผํฉ๋๋ค.) ์ฌ๊ธฐ ํฌ์คํ ์์๋ ํ์ ํ์ผ์ ๋ํ ๊ตฌํ๋ค๋ง..
-
Composable ArchitectureTCA 2021. 6. 11. 13:41
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Composable Architecture์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป ์ ์์๋ณด๊ฒ ๋์๋์ง? ์์ผ๋ก๋ SwiftUI์ ์ฌ์ฉ์ ์ด๋ฒคํธ๋ฅผ ํตํ ๋ทฐ์ ์ ๋ฐ์ดํธ ๋ฑ ์ํ ๊ฐ์ ์ฒ๋ฆฌํ๋ ๋ฐ์ํ์ Combine์ด ๋ง์ด ์ฌ์ฉ๋๊ฒ ๋ ๊ฑฐ๋ผ ์๊ฐํฉ๋๋ค. ์ด์ ์กฐ๊ธ ๋ SwiftUI ํ๋ ์์ํฌ์ ์ ํฉํ๊ณ ์ํ๋ฅผ ๊ด๋ฆฌํจ์ ๋ฐ๋ผ ๋ทฐ์ ๋ณํ๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ํ ์ ์๋ ์ํคํ ์ณ์ด๊ธฐ์ ์ค์ํฉ๋๋ค๐๐ป Composable Architecture? ์ปดํฌ์ ๋ธ ์ํคํ ์ณ? ์ฌ์ ์ ์ผ๋ก ์ปดํฌ์ ๋ธ์ ๊ตฌ์กฐ๋ ๊ตฌ์ฑ์ด๋ผ๋ ๋ป์ ๊ฐ์ง๋๋ค. ์ด๋ฅผ ํ ๋๋ก ํด๋น ์ํคํ ์ณ ํจํด์ ํด์ํ์๋ฉด ํฐ ๊ธฐ๋ฅ๋ค์ ๋ถ๋ฆฌํด ๊ตฌ์กฐ์ ์ธ ๋ชจ๋๋ก ๋๋๊ณ ์ด๋ฅผ ์ด์ฉํ๋๊ฒ์ด๋ผ ํ๋จ๋ฉ๋๋ค. ์๋์ ๊ฐ์ด ์ปดํฌ์ ๋ธ ์ํคํ ์ณ๋ฅผ ์ ์ํด๋ณผ ์ ์์ต๋..
-
CombineCombine 2021. 6. 9. 16:27
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Combine์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป Combine์ ์๊ธฐ์ ! MVVM ํจํด์ ๋ฐ๋ฅด๊ธฐ ์ํด ์คํ ๋ฆฌ๋ณด๋ ์์ ๋์ SwiftUI๋ฅผ ์ฌ์ฉํ๋ฉด์ RxSwift๋ก ๊ตฌํ์ ํด์ฃผ์๋๋ฐ์. WWDC 2019 ์ดํ Combine์ด ๋ํ๋ฌ์ต๋๋ค. Combine์ด ๋ฌด์์ด๋? ์ฝ๊ฒ ์๊ฐํ๋ฉด RxSwift๋ ์จ๋ํํฐ ํ๋ ์์ํฌ์ด๊ณ Combine์ ์ ํ์์ RxSwift์ ์ญํ ์ ์ํด ๋ง๋ ํผ์คํธํํฐ ํ๋ ์์ํฌ์ ๋๋ค. Combine์ ์ ์ฐ๋? RxSwift๋ฅผ ์ฐ๋ ์ด์ ์ ์์ถฉํ๋ค๊ณ ๋ณด๋๋ฐ์. ๋น๋๊ธฐ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ ์ํจ์ ๋๋ค. ๊ธฐ์กด์ ๋น๋๊ธฐ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ์ํด delegate, GCD, notification center, ์ฝ๋ฐฑ ํด๋ก์ ๋ฑ์ ์ฌ์ฉํ์ต๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ ๋ฌธ..
-
SwiftUISwiftUI 2021. 4. 14. 22:55
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ค๋์ ํฌ์คํ ์ SwiftUI์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป SwiftUI? - ์ค์ํํธ ์ธ์ด๋ก ๋ชจ๋ ํ๋ซํผ์์ ์ฑ์ ๋ํ UI์ ๋์์ ์ ์ธํด์ฃผ๋ ํ๋ ์์ํฌ - ์ ๊ทผ์ฑ ๋ฐ ์ง์ญํ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ์๋์ผ๋ก ์ง์ํด์ค (๋คํฌ๋ชจ๋, ์ ๋์ ๊ธ์ ํฌ๊ธฐ ์กฐ์ ๋ฑ) - UIKit, AppKit, WatchKit ํ๋ ์์ํฌ ๊ฐ์ฒด์ ํตํฉํด ํ๋ซํผ ๋ณ ๋ ๋ง์ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์์ - ์บ๋ฒ์ค์ ์ฝ๋๊ฐ ๋๊ธฐํ๋์ด MVVM ์ํคํ ์ณ ํจํด์ ์ ํฉ - Xcode12, iOS13 ์ด์๋ถํฐ ์ง์ ๊ฐ๋ฅ - ๋ทฐ ํ๋กํ ์ฝ์ ์ฑํํ๊ณ ๋ฐ๋๋ฅผ ๊ตฌํํด์ฃผ์ด ๋ทฐ๋ฅผ ์ฌ์ฉํ๊ฒํจ - ๊ณต๊ฐ์ ๊ฐ๋ ์ผ๋ก ๋ทฐ๋ฅผ ๋ง๋ค๋ฉด ์ค์๋ถํฐ ์ฐจ์งํ๊ฒ๋จ (์๋์ ์ด ์๋) SwiftUI ์ฅ์ ? - ํ๋ฒ์ ๊ฐ๋ฐ๋ก ๋ชจ๋ ํ๋ซํผ์์ ๋์์ด ๊ฐ๋ฅํ ์ฑ ..