rxswift
-
RxSwift - withUnretainedRxSwift 2025. 2. 21. 07:54
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ RxSwift์ withUnretained์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค ๐๐ปRxSwift๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ฉ๋ชจ๋ฆฌ ๋์ ํน์ ๊ฐํ ์ํ ์ฐธ์กฐ ๋ฌธ์ ๋ฅผ ๋ง๋ ์ ์๋ ์ํฉ์ด ๋ง์ต๋๋ค.๋ฌผ๋ก ์ด๋ฅผ ์ํด weak self๋ฅผ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ ์ ์์ง๋ง, ๊ท์ฐฎ์์์..?๊ทธ๋์ ๋ณด๋ค ๊ฐ๋ ์ฑ์ด ์ข๊ณ ํธ๋ฆฌํ๊ฒ withUnretained๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ผ ํ๋ฒ withUnretained๊ฐ ๋ฌด์์ด๊ณ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์์๋ณผ๊น์? withUnretained?withUnretained๋ RxSwift์์ weak self ํจํด์ ๋ณด๋ค ๋ช ํํ๊ณ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ์ฐ์ฐ์์ ๋๋ค.์ฆ, ๊ธฐ์กด weak self ์ฌ์ฉ ์ ๋ฐ์์ํค๋ ์ต์ ๋์ ์ฒ๋ฆฌํ๋๊ฒ์ ๋ํด ๋์ผํ๊ฒ ์ฒ๋ฆฌ๋ฅผ ..
-
RxSwift/RxCocoa - TraitsRxSwift 2025. 2. 17. 08:49
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ RxSwift์ Traits์ ๋ํด ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค ๐๐ปTraits?์ฐ์ RxSwift์์ Observable์ ๋งค์ฐ ์ ์ฉํ ์คํธ๋ฆผ์ด์ง๋ง, ๋๋ก๋ ํน์ ํ ์ก์ ์ ๊ฐ์ ํ๊ณ ์ถ์๋๊ฐ ์์ ์ ์์ต๋๋ค.Traits์ด ์ด๋ฐ ํน์ ํ ํจํด์ ๋ฐ๋ฅด๋ Observable์ ๋ณํ์ผ๋ก ๊ทธ ์ญํ ์ ํด์ค๋๋ค.์ฆ, Observable๋ก๋ ์๋ onNext, onError, onCompleted ๋ฑ์ ๋ค ์ฒ๋ฆฌํ๋ค๋ฉด Traits์ ํ์ํ๊ฒ๋ง ์ฒ๋ฆฌํ ์ ์์ฃ . RxSwift์ RxCocoa์์๋ ๋ค์๊ณผ ๊ฐ์ Traits๋ค์ ์ ๊ณตํฉ๋๋ค ๐ 1๏ธโฃ Single2๏ธโฃ Completable3๏ธโฃ Maybe4๏ธโฃ Driver5๏ธโฃ Signal6๏ธโฃ ControlProperty7๏ธโฃ Cont..
-
RxSwift/RxCocoa - subscribe vs bind vs driveRxSwift 2025. 2. 14. 11:19
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ RxSwift์์์ bind, subscribe, drive์ ์ญํ ๊ณผ ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป์ค๋ ์ ๋ฆฌํด๋ณผ ์ด subscribe, bind, drive๋ ๊ฐ๊ฐ ๋ชฉ์ ๊ณผ ํน์ง์ด ๋ค๋ฅด๊ธฐ์ ์ ์ ํ ์ฌ์ฉํ๋๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ๋ ๊ธฐ์ ์ด ์ธ๊ฐ์ง์ ๋ํด ์ฐจ์ด์ ์ ํ์คํ ์๊ณ ์ด๋ค ์ํฉ์์ ์ด๋ค๊ฑธ ์ฌ์ฉํ ์ง ์ฒดํฌํด๋ณด์ฃ ! ๐ฏโ๏ธ ๊ทธ์ ์ ํ๋ ์ง๊ณ ๊ฐ๋ณผ๊ป์. RxSwift์์์ ํต์ฌ ๊ฐ๋ ์ Observable๊ณผ Observer์ฃ .์ฌ๊ธฐ์ Observable์ ๋ฐ์ดํฐ๋ฅผ ๋ฐฉ์ถํ๋ ์คํธ๋ฆผ์ด๊ณ , Observer๋ ๋ฐฉ์ถ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ์ฒ๋ฆฌํ๋ ๊ฐ์ฒด ์ญํ ์ ํฉ๋๋ค.์ด ๋ ๊ฐ๋ ์ ํตํด์ ์ฐ๋ฆฌ๋ ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๊ตฌํํ๋๊ฒ์ด์ฃ .์ฌ๊ธฐ์ subscribe, bind..
-
Hot Observable vs Cold ObservableRxSwift 2025. 2. 11. 10:24
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ Rx์์์ Hot/Cold Observable์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๋จผ์ , RxSwift์์ Observabled์ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ๋ค๋ฃจ๋ ํต์ฌ์ ์ธ ์์์ด๋ฉฐ, Observable์ ์ฑ๊ฒฉ์ ๋ฐ๋ผ์ Hot / Cold ์ข ๋ฅ๋ก ๋๋ ์ง๊ฒ ๋ฉ๋๋ค.์ด ๋๊ฐ์ง๋ ๊ตฌ๋ ์์ ๊ณผ ๋ฐ์ดํฐ ์์ฑ ๋ฐฉ์์ ๋ฐ๋ผ ์ฐจ์ด๋ฅผ ๊ฐ์ง๊ณ ์์ด์ ๐ค ๊ทธ๋์, ์ด๋ฒ ํฌ์คํ ์์๋ Hot / Cold Observable์ ๊ฐ๋ ๋ถํฐ ๋ด๋ถ ๋์ ๋ฐฉ์๊ณผ ์ฑ๋ฅ์ ์ธ ๋ถ๋ถ ๊ทธ๋ฆฌ๊ณ ์์๊น์ง ํ๋ฒ ๋ด์๋ณด๊ฒ ์ต๋๋ค! Hot ObservableHot Observable์ ๊ตฌ๋ ์๊ฐ ์ถ๊ฐ๋๋๋ผ๋ ๊ธฐ์กด ์คํธ๋ฆผ์ ๊ณต์ ํ๋ Observable์ ๋๋ค.์ฆ, ๋ฐ์ดํฐ ์์ฑ์ด ํน์ ์ด๋ฒคํธ๋ ์ธ๋ถ ํธ๋ฆฌ๊ฑฐ์ ์ํด ์์๋๋ฉฐ, ๊ตฌ๋ ์๊ฐ..
-
RxSwift/RxCocoa - Driver & BehaviorRelayRxSwift 2025. 2. 6. 09:44
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ Driver์ BehaviorRelay์ ๋ํด ์์๋ณด๋ฉฐ ์ฐ๊ด ๊ด๊ณ์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๊ทธ์ ์, BehaviorRelay์ ๋ํด ์๊ณ ์๋๊ฒ์ด ๋ ํธ๋ฆฌํด์. RxSwift - BehaviorSubject vs BehaviorRelay์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์ RxSwift์์ BehaviorSubject์ BehaviorRelay์ ์ฐจ์ด์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป RxSwift๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ฅผ ๊ด๋ฆฌํ ๋ ๋ ๊ฐ๋ ๋ชจ๋ ์์ฃผ ์ฌ์ฉ๋๋๋ฐ์.๋green1229.tistory.com ํด๋น ํฌ์คํ ์ ์ฌ์ ์ ๋จผ์ ๋ณด์๋๊ฒ ์ข์ต๋๋ค ๐DriverDriver๋ RxCocoa์์ ์ ๊ณตํ๋ ํน์ํ Observable ํ์ ์ผ๋ก, ์ฃผ๋ก UI ๋ฐ..
-
RxSwift - BehaviorSubject vs BehaviorRelayRxSwift 2025. 2. 3. 14:25
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์ RxSwift์์ BehaviorSubject์ BehaviorRelay์ ์ฐจ์ด์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป RxSwift๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ฅผ ๊ด๋ฆฌํ ๋ ๋ ๊ฐ๋ ๋ชจ๋ ์์ฃผ ์ฌ์ฉ๋๋๋ฐ์.๋๊ฐ์ง ๋ชจ๋ Subject์ ๋๋ค. ์ด๋ค ์ฐจ์ด๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , ์ด๋ค ์ํฉ์์ ์ด๋ค๊ฒ์ ์ฐ๋๊ฒ ์ข์์ง์ ๋ํด ์์๋ณผ๊ป์.BehaviorSubjectBehaviorSubject๋ ํ์ฌ ๊ฐ์ ์ ์งํ๋ฉฐ, ์๋กญ๊ฒ ๊ตฌ๋ ํ๋ Subscriber์๊ฒ ํญ์ ์ต์ ๊ฐ์ ๋ฐฉ์ถํ๋ Subject์ ๋๋ค.๋ํ ์ด๊ธฐ ๋ฐ ๊ธฐ์กด ๊ฐ์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ UI ์ํ ๊ด๋ฆฌ ์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์์ฃ . ํน์ง์ผ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 1๏ธโฃ ์ด๊ธฐ๊ฐ ์ง์ 2๏ธโฃ ๊ตฌ๋ ์ ์ต์ ๊ฐ์ ์ฆ์ ์์ 3๏ธโฃ .onNext(value),..
-
RxSwift๋ก ์๋ฒ ํต์ ํ๊ธฐRxSwift 2022. 12. 19. 10:51
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ RxSwift๋ฅผ ์ฐ๋ ํ๊ฒฝ์์ ์๋ฒ ํต์ ์ ํ๋ ํ์ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค๐๐ป ์ฐ์ ์๋ฒ ํต์ ์ด ํ์ํ ํ๊ฒฝ์ด ์ ๋ง ํ์์ ์ด๊ณ ๋ง์๋ถ๋ค์ด RxSwift๋ฅผ ์ฌ์ฉํ๊ณ ์์๊ฑฐ์์. ๊ทธ๋ ๊ธฐ์ ์ ๋ ๋๋ฆ์ ๋ฐฉ์์ผ๋ก RxSwift๋ฅผ ์ฌ์ฉํ๋ฉด์ ์์ง์ฌ์ง ์๋ฒ ํต์ ํ ํ๋ฆฟ์ ๋ง๋ค๊ณ ์ฝ๊ฒ ์ฌ์ฉํด๋ณด๋ คํฉ๋๋ค! ๋จผ์ ๋ค์ด๊ฐ๊ธฐ์ ์ฌ์ฉ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋๊ฐ์ง์ ๋๋ค. Alamofire์ RxSwift Alamofire๋ฅผ ํตํด ์กฐ๊ธ ๋ ๊ฐํธํ๊ฒ ์๋ฒ ํต์ ์ ์ํต๋๋ค. Moya๋ฅผ ํ์ฉํ์ง ์์ ์ด์ ๋ ๋คํธ์ํฌ ๋ ์ด์ด๋ฅผ ์ถ์ํํ๊ฒ๋ฟ์ด๋ผ ์ด ๋ถ๋ถ์ ์ง์ ๊ตฌํํ๋ฉด์ ์กฐ๊ธ ๋ ์ฅ์ ์ ๊ฐ์ ธ๊ฐ์ต๋๋ค. ๊ทธ๋ผ ํ๋ฒ ๋ณด์์ฃ ๐ฅธ ์ฐ์ ๊ฐ์ฅ ๋จผ์ ๋ง๋ค์ด๋ณผ๊ฒ์ธ ์๋ฒ ํต์ ๊ท์ฝ์ ์ ํด๋ณด๋ Router ํ๋กํ ์ฝ๊ณผ ํด๋น ํ๋กํ ..
-
RxSwift - Time Based OperatorRxSwift 2021. 11. 17. 20:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Time Based Operator์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐๐ป ์ฌํ๊น์ง ๊ทธ๋ฌ์ง๋ง RxSwift์ ์์ฐจ์ ์ธ ํ์ต์ ์๋ ๋งํฌ๋ฅผ ๋ฐ๋ผ ์งํํ๊ณ ์์ต๋๋ค. ์๋ง๋ ํฐ ๋จ๋ฝ์์ ์คํผ๋ ์ดํฐ์ ๋ํ ํ์ต์ ์ด๋ฒ ํฌ์คํ ๊น์ง์ผ๊ฒ ๊ฐ์ต๋๋ค! GitHub - fimuxd/RxSwift: RxSwift๋ฅผ ์คํฐ๋ํ๋ ๊ณต๊ฐ RxSwift๋ฅผ ์คํฐ๋ํ๋ ๊ณต๊ฐ. Contribute to fimuxd/RxSwift development by creating an account on GitHub. github.com Time Based Operator? ์ง์ญํ์ฌ ์๊ฐํ๋ฉด ์๊ฐ์ ๊ธฐ๋ฐํ ์คํผ๋ ์ดํฐ ์ ๋๋ค. ์๊ฐ์ ๊ธฐ๋ฐํ๋ค.. Rx์์ ์๊ฐ ํ๋ฆ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ค๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด ๊ด๋ จ..