์ ์ฒด ๊ธ
-
SwiftUI - ScrollViewReaderSwiftUI 2022. 11. 3. 17:28
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์์ ScrollViewReader๋ผ๋๊ฒ์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ SwiftUI๋ฅผ ์ฌ์ฉํ๋ฉด์ ScrollView๋ผ๋ View๋ฅผ ์์ฃผ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ์ด๋ ํ์ฌ ์คํฌ๋กค๋ง์ ๊ฐ์งํ๊ฑฐ๋ ์๋์ผ๋ก ์คํฌ๋กค๋์ด ํ์ํ ํฌ์ธํธ๋ก ์์น ๋ณ๊ฒฝ์ ํ๋ ๋ฑ์ ๊ธฐ๋ฅ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ฃ ๐ฅฒ ์ด๋ด๋ GeometryReader์ฒ๋ผ ScollView๋ฅผ ์ฝ์ด ๊ฐ์งํ ์ ์๋ ๋ ์์ด ํ์ํด์! ๊ทธ๋ด๋ ์ฌ์ฉํ๋๊ฒ์ด ๋ฐ๋ก ์ด ScrollViewReader์ ๋๋ค๐ ๊ทธ๋ผ ์์ธํ ์ด๋ค๊ฑด์ง ์์๋ณด์์ฃ ๐บ๐ป ScrollViewReader๋? ์์ ์ค๋ช ์์ ์กฐ๊ธ ์ฐ์ฅํด๋ณด์๋ฉด ScrollViewReader๋ ํ์ View, ScrollView๋ฅผ ์คํฌ๋กคํ๊ธฐ ์ํด ํ๋ก์๋ผ๋๊ฒ๊ณผ ํจ๊ป ์์ ํ ์ ..
-
TCA - Testing Effects (feat. unimplemented)TCA 2022. 10. 31. 11:30
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐์ด๋ฒ ํฌ์คํ ์์๋ TCA์์ Effect๋ฅผ ํ ์คํฐ๋ธํ ํ๊ฒฝ์ผ๋ก ๊ตฌ์ฑํ ์ ์๋ unimplemented๋ผ๋ ๋ฉ์๋์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ umimplemented๋ผ๋ ๋ป์ ์ฐ์ implemented์ ๋ฐ๋์ด์ฃ .๊ฐ๋ฐ์๋ค์ ํญ์ ๊ตฌํ์ ํ์์์?๊ตฌํ์ด๋ผ๋ ๋จ์ด์ธ implement๋ ์ต์ํ ๊ฑฐ๋ผ ์๊ฐํด์.๊ทธ์ ๋ฐ๋๋ ๊ตฌํ๋์ง ์์๋ค๋ ๋ป์ unimplement์ ๋๋ค.(๊ทธ๋ฅ ์ ๊ฐ ์์ฆ ์์ด ๊ณต๋ถ๋ ๊ฐ๊ฐํ ํ๋ คํด์ ์ฃผ์ ์ฃผ์ ์จ๋ดค๋ค์..!) ๊ฒฐ๊ตญ "๊ตฌํ๋์ง ์์, ์คํ๋์ง ์๋" ๋ป์ ๊ฐ์ง ๋ฉ์๋์ผ๊ฑฐ๋ผ ์ถ์ธกํฉ๋๋ค. TCA๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ฆฌ๋์์์ Effect๋ฅผ ๋ฐฉ์ถํ๋ฉด์ ํํ ์์๋ ๊ตฌํ์ผ๋ก ์ฌ์ฉํ์์์?๊ทผ๋ฐ ์ด Effect๋ฅผ ํ ์คํธ ํ๊ฒฝ์์๋ ๊ตณ์ด ๊ฒฐ๊ณผ๊น์ง ํ ์คํธํ ํ์๊ฐ ์์ด ๋์ด๊ฐ๋๊ฒ..
-
TCA - fireAndForgetTCA 2022. 10. 27. 09:40
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ TCA์ fireAndForget์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ ์ฐ์ fireAndForget์ด๋ผ๋ ์ฉ์ด๊ฐ ์์ํ ์ ์์ต๋๋ค! ๊ทธ๋ฅ ๋์ถฉ ์ถ์ธก์ ํด๋ณด๋ฉด "๋ถ์ง๋ฅด๊ณ ์์ด๋ฒ๋ฆฌ๊ธฐ"์ ๋๋์ผ๋ก ๋ฌด์ธ๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ฒฝ ์ฐ์ง ์์๊ฒ ๊ฐ์ ๋๋์ด ๋ค์ด์. ์ค์ ๋ก ๊ตฐ์ฌ์ ์ธ ์ฉ์ด์์๋ Fire And Forget์ด๋ผ๊ณ ํด์ 3์ธ๋ ๋ฏธ์ฌ์ผ ์ ๋ ๋ฐฉ์ ์ค ํ๋๋ผ๊ณ ํ๋ค์. ๋ฐ์ฌ ๋ฒํผ๋ง ๋๋ฅด๊ณ ๋๋ฉด ์ฌ๋์ด ๋ ์ด์์ ๋ฏธ์ฌ์ผ์ ์ ๋ํ๊ฑฐ๋ ๊ฑด๋๋ฆฌ์ง ์์๋ ๋๋ค๋ ๋ป์ผ๋ก ์๋์ผ๋ก ๋ชฉํ๋ฌผ์ ์ฐพ์๊ฐ ๋ช ์คํ๋ฐ์๐ https://ko.wikipedia.org/wiki/ํ์ด์ด_์ค_ํฌ๊ฒ ํ์ด์ด ์ค ํฌ๊ฒ - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ . ํ์ด์ด ์ค ํฌ๊ฒ(์์ด: fire-a..
-
TCA - concatenate & merge (์ฌ๋ฌ Effect๋ฅผ ๋จ์ผ Effect๋ก ๋ง๋ค๊ธฐ)TCA 2022. 10. 25. 14:54
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ TCA์ Effectํธ์ ๋๋ค. Effect๋ฅผ ๋ณํฉํ๋ ๋ํ์ ์ธ ๋๊ฐ์ ๋ฐฉ๋ฒ concatenate์ merge์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ ์์ ์ ์ ๊ฐ ํฌ์คํ ์ผ๋ก Rx๋ฅผ ํ์ตํ๋ฉด์ concat๊ณผ merge์ ๋ํด ์๊ฐํ๋ฉด์ ์ฐจ์ด์ ์ ์์๋ณธ์ ์ด ์์ต๋๋ค. TCA์์ Effect๋ผ๊ณ ํด์ ๋ค๋ฅผ๊ฒ ์์ด์. Observable, Publisher๋ ๋์ผํ๊ฒ ์๋ํฉ๋๋ค ์๋ฆฌ๋! ๊ทธ๋ ๊ธฐ์ ๋ง์ฝ TCA์์ ๋ฏ์ ๊ฒ์ฒ๋ผ ๋๊ปด์ง์๋ฉด ์๋ ํฌ์คํ ์ ๋ณด๊ณ ์ค์๋๊ฒ๋ ์ข์์๐๐ป https://green1229.tistory.com/166 concat & merge ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ concat๊ณผ merge์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป ์ผ๋จ ๋ ๋จ์ด์ ์ฌ์ ์ ์ธ ์๋ฏธ๋ถ..
-
TCA - ThrottlingTCA 2022. 10. 20. 10:18
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ง๋ Debouncing์ ์ด์ด TCA์์์ Throttling์ ๋ํด ํ์ตํ๊ฒ ์ต๋๋ค๐ ํน Debouncing ํฌ์คํ ์ ๋ณด์ง ์์ผ์ จ์ผ๋ฉด ์ด๋ฒ Throttling๊ณผ ๋น๊ต๊ฐ ๋ ๊ฑฐ๋ผ ๋จผ์ ๋ณด๊ณ ์ค์๋ฉด ๋์์ด ๋ฉ๋๋คใ ใ https://green1229.tistory.com/290 TCA - Debouncing ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ TCA์ Debouncing์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ Debounce? Debouncing์ด๋ผ๋๊ฑด ์ฐ์ ๋ญ ๋ปํ๋ ๊ฑธ๊น์? ์์ ์ ์ ๊ฐ Rx๋ฅผ ๊ณต๋ถํ๋ฉด์ Debounce์ Throttle์ ํฌ์ค green1229.tistory.com ์ฐ์ Throttling์ ์์๋ณด๊ธฐ์ ์ Rx๋ Combine์์ ์ฐ์ด๋ Debounc์ ..
-
TCA - DebouncingTCA 2022. 10. 17. 14:42
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ TCA์ Debouncing์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ Debounce? Debouncing์ด๋ผ๋๊ฑด ์ฐ์ ๋ญ ๋ปํ๋ ๊ฑธ๊น์? ์์ ์ ์ ๊ฐ Rx๋ฅผ ๊ณต๋ถํ๋ฉด์ Debounce์ Throttle์ ํฌ์คํ ํ ์ ์ด ์์ต๋๋ค. https://green1229.tistory.com/m/178 RxSwfit - Debounce & Throttle ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ RxSwift์์ ์ฌ์ฉ๋๋ debounce์ throttle์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป ์์ธํ ํ์ตํ๊ธฐ์ ๊ฐ๋จํ๊ฒ debounce์ throttle์ด ์ด๋ค๊ฑธ ํด์ฃผ๋ ๋ฉ์๋์ธ green1229.tistory.com ์์ธํ ๋ณด์ค ๋ถ๋ค์ ์ด ํฌ์คํ ์ ์ ํ์ผ๋ก ์ฐธ๊ณ ํ์ ๋ ์ข์๊ฒ ๊ฐ์์! ๊ฐ๋ตํ๊ฒ ..
-
TCA - TimerTCA 2022. 10. 13. 11:18
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ TCA์ Effect ํ์ ์์ ์ฌ์ฉํ ์ ์๋ Timer์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐๐ป ์ฐ์ TCA์์ Effect ํ์ ์ ๋ํด์๋ ์๊ณ ๊ณ์๋ค๋ ์ ์ ์์ ํด๋น Timer๋ฅผ ์์๋ณด๊ฒ ์ต๋๋ค. ๋ง์ฝ Effect๊ฐ ์ด๋ค๊ฑด์ง ์์ ๋ชจ๋ฅด์ ๋ค๋ฉด ์๋ ๊ฐ๋จํ TCA ์๊ฐ๋ฅผ ๋ณด๊ณ ์ค๋๊ฒ์ ์ถ์ฒ๋๋ ค์! https://green1229.tistory.com/138?category=1090347 Composable Architecture ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Composable Architecture์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป ์ ์์๋ณด๊ฒ ๋์๋์ง? ์์ผ๋ก๋ SwiftUI์ ์ฌ์ฉ์ ์ด๋ฒคํธ๋ฅผ ํตํ ๋ทฐ์ ์ ๋ฐ์ดํธ ๋ฑ ์ํ ๊ฐ green1229.tistory.com ..
-
TCA - IfLetStoreTCA 2022. 10. 11. 15:14
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ TCA์์์ IfLetStore๋ผ๋ ๊ตฌ์กฐ์ฒด์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ ์ฐ์ ์ค๋ ํฌ์คํ ๋ ๋ด์ฉ์ ์ ๋ถ ComposableArchitecture์์ IfLetStore ์ ์ ๋ฐ ๊ตฌํ๋ ๋ถ๋ถ์ ์ฝ๋๋ฅผ ๋ฏ์ด๋ดค์ต๋๋ค. ํด๋น ์ ์ฒด ์ฝ๋๊ฐ ๊ถ๊ธํ์ ๋ถ๋ค์ ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์! https://github.com/pointfreeco/swift-composable-architecture/blob/main/Sources/ComposableArchitecture/SwiftUI/IfLetStore.swift GitHub - pointfreeco/swift-composable-architecture: A library for building applications in a cons..