PassthroughSubject
์ ๋ค๋ฆญ ํด๋์ค | ํ์ Subscriber์๊ฒ ์์๋ฅผ ์๋ฆฌ๋ Subject
์กด์ฌํ๋ ๋ช ๋ นํ ์ฝ๋๋ฅผ Combine ๋ชจ๋ธ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๊ธฐ ์ํด ํธ๋ฆฌํ๊ฒ ์ฌ์ฉ๋ ์ ์๋ค.
CurrentValueSubject
์๋ ๋ค๋ฅด๊ฒ ์ด๊ธฐ๊ฐ์ ๊ฐ์ง ์์ผ๋ฉฐ, ๊ฐ์ฅ ์ต๊ทผ์ ๋ฐํ๋ ์์์ ๋ํ ๋ฒํผ๋ฅผ ์ ์งํ์ง ์๋๋ค. ํ์ฌ Subject๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ ์ ๊ทผํ ์๋ ์๋ค.
๋ ๊ฐ์ ์ ๋ค๋ฆญ ํ์
์ ๊ฐ์ง๋ค. ํ๋๋ ๊ฐ์ ํ์
์ ๋ํ๋ด๋ฉฐ, ๋ค๋ฅธ ํ๋๋ ์๋ฌ์ ํ์
์ ๋ํ๋ธ๋ค. ์๋ฌ์ ํ์
์ Error
ํ๋กํ ์ฝ์ ์ฑํํด์ผ ํ๋ค.
subject.send(Void())
๋ฅผ ํธ์ถํ ์์ ์ Subject์ ๊ฐ์ ์ ๋ฌํ์์ผ๋ฏ๋ก ๊ฐ์ ๋ฐ์ ๊ฒ์ ๋ํ ํด๋ก์ ๊ฐ ์คํ๋๋ค.
RxSwift
PublishSubject
๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ ์ ์๋ค.
onNext(_:)
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ Subject์ ๊ฐ์ ์ ๋ฌํ๋ค.
ReactiveSwift
MutableProperty
๋ฅผ ์ฌ์ฉํ๊ณ signal
ํ๋กํผํฐ๋ฅผ ํตํด Signal์ ๋ง๋ค์ด ๊ตฌํํ ์ ์๋ค.
value
ํ๋กํผํฐ์ ๊ฐ์ ํ ๋นํ์ฌ Property์ ๊ฐ์ ์ ๋ฌํ๋ค.
MutableProperty
๋ก๋ถํฐ producer
ํ๋กํผํฐ๋ฅผ ํตํด SignalProducer๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํ๋ค๋ฉด, MutableProperty
์ ์ด๊ธฐ๊ฐ์ด ํ๋ฅด๊ฒ ๋๋ฏ๋ก PassthroughSubject
์ ๋์์ ๊ตฌํํ ์ ์๋ค.
์ค์ฝํ๋ฅผ ๋ฒ์ด๋ ๋ property
๊ฐ ํด์ ๋์ด Signal๋ ์ข
๋ฃํ๋ ๋ชจ์ต์ ๋ณด์ฌ์ค๋ค.
์ฐธ๊ณ
Last updated
Was this helpful?