[iOS/RxSwift] Traits ์•Œ์•„๋ณด๊ธฐ - Single, Completable, Maybe

์•ˆ๋…•ํ•˜์„ธ์š” ๋„ˆ๊ตฌ๋ฆฌ์ž…๋‹ˆ๋‹ค:) ์˜ค๋Š˜์€ Trait์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! Traits traits๋Š” ์‚ฌ์ „์  ์˜๋ฏธ๋กœ "ํŠน์„ฑ"์ด๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค. RxSwift์—์„œ๋Š” Observable์˜ ์ข์€ ์˜๋ฏธ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทผ๋ฐ Observable๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•˜๋ฉด ๊ทธ๋ƒฅ Observable์„ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š”๊ฒƒ์ด ์•„๋‹Œ๊ฐ€๋ผ๋Š” ์˜๋ฌธ์ ์ด ๋“ค์ง€ ์•Š์œผ์‹ ๊ฐ€์š”? Trait์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? ์žฅ์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ• ๊ฒŒ์š”! - ์šฐ๋ฆฌ๊ฐ€ ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์„ ํŠน์„ฑํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค. - ๊ฐœ๋ฐœ์ž๊ฐ„์˜ ์˜๋ฏธ ์ „๋‹ฌ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. - ๊ตฌ์ฒด์ ์ธ ๋Œ€์ƒ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. - ํ‘œํ˜„ํ•˜๊ธฐ ๋ช…ํ™•ํ•˜๋‹ค. ์ด๋Ÿฐ ์žฅ์ ๋“ค์ด ์žˆ๋Š”๋ฐ ์•„๊นŒ๋„ ๋งํ–ˆ๋“ฏ์ด Observable์„ ์‚ฌ์šฉํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ Trait์˜ ์‚ฌ์šฉ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ ํƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค..

iOS/RxSwift 2022. 11. 23. 23:13
[iOS/RxSwift] Observable ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

์•ˆ๋…•ํ•˜์„ธ์š” ๋„ˆ๊ตฌ๋ฆฌ์ž…๋‹ˆ๋‹ค:) ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ Observable์˜ ๊ฐœ๋…์„ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค! ๊ฐœ๋…์ด ์ข€ ๋” ๊ถ๊ธˆํ•˜์‹œ๋‹ค๋ฉด ์ €๋ฒˆ ๊ฒŒ์‹œ๋ฌผ์„ ํ™•์ธํ•˜๊ณ  ์˜ค์‹œ๋ฉด ์ข‹์„๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ์ด ๊ฐœ๋…์„ ๋ฐ”ํƒ•์œผ๋กœ Observable์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! ์ผ๋‹จ ๋“ค์–ด๊ฐ€๊ธฐ์ „์— ๊ฐ„๋‹จํžˆ๋งŒ ์ •๋ฆฌํ•˜๋ฉด Observable์€ Elementํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค๋กœ ์ด๋ฒคํŠธ๋ฅผ ๋ฐฉ์ถœํ•˜๋Š” ์‹œํ€€์Šค์˜ ์ •์˜์ž…๋‹ˆ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ์ •์˜์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฉ์ถœํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ๋ฐ›์œผ๋ ค๋ฉด Subscribe๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Observable - just just๋Š” Element 1๊ฐœ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค! just์˜ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด ๋ณด๋ฉด ํ•˜๋‚˜์˜ element๋งŒ ๋ฐฉ์ถœํ•œ๋‹ค๊ณ  ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž ์‚ฌ์šฉํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! Observable.just(1) ...

iOS/RxSwift 2022. 11. 22. 23:51
[iOS/RxSwift] Observable๊ณผ Subscribe, Disposable๋Š” ๋ฌด์—‡์ธ๊ฐ€?

์•ˆ๋…•ํ•˜์„ธ์š”? ๋„ˆ๊ตฌ๋ฆฌ์ž…๋‹ˆ๋‹ค~ ์˜ค๋Š˜์€ ์ €๋ฒˆ ์‹œ๊ฐ„์— ๊ฐ„๋‹จํžˆ ๋‹ค๋ค˜๋˜ RxSwift์˜ ์š”์†Œ! Observable๊ณผ ํ•ญ์ƒ ๋‹จ์ง์ธ Subscribe์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ• ๊ฒŒ์š”! ์ž! ๋ฐ”๋กœ ๊ฐ€์‹œ์ฃ ~! Observable๋Š” ๋ฌด์—‡์ธ๊ฐ€? Observable์€ ์‚ฌ์ „์  ์ •์˜๋กœ "๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ๋Š”" ์ด๋ผ๋Š” ๋œป์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋ฒˆ ๊ฒŒ์‹œ๋ฌผ์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ ์ฒ˜๋Ÿผ Observable์€ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ๊ณ  ์–˜๋ฅผ ๊ด€์ฐฐํ•˜๋Š” Observer์—๊ฒŒ ์ด๋ฒคํŠธ๋ฅผ ๋ฐฉ์ถœ(์ „๋‹ฌ)ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ์‹œํ€€์Šค์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ๊ณผ์ •์„ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์ฃ ! ๋ฐฉ์ถœํ•œ๋‹ค๋Š” ๋ง ์ž์ฒด๊ฐ€ ์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ๋œ๋‹ค๋ฉด ์ „๋‹ฌํ•ด์ค€๋‹ค๊ณ  ์ดํ•ดํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค! ๊ทธ๋Ÿผ Observable์ด ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ๋กœ ๊ตฌ์„ฑ์ด ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. /// It represents a push style se..

iOS/RxSwift 2022. 11. 17. 00:43
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ