Publishers.Print
์ ๋ค๋ฆญ ๊ตฌ์กฐ์ฒด | ๋ฐํํ๋ ๋ชจ๋ ์ด๋ฒคํธ์ ๋ํ์ฌ, ์ ํ์ ์ผ๋ก ์ ๋์ฌ๋ฅผ ๋ถ์ผ ์ ์๋ ๋ก๊ทธ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๋ Publisher
์ด๋์ ๋ผ์ด์ ๋ ์ธ ๊ฐ์ ์ธ์๋ฅผ ๋ฐ๋๋ค.
upstream: ์์์ ํ๋ฅด๋ Publisherprefix: ๋ก๊ทธ ๋ฉ์ธ์ง์ ์์ ๋ถ์ผ ๋ฌธ์์ดto: ํ ์คํธ๋ฅผ ์ถ๋ ฅํ ๊ณณ. nil์ด๋ฉด ํ์ค ์ถ๋ ฅ์ผ๋ก ์ถ๋ ฅํ๋ค.
์ด๋ฒคํธ์ ๋ํ์ฌ ๋ก๊ทธ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๋ค.
๋ค์์ ์ด๋ฒคํธ๋ฅผ ์ ๋ฌ๋ฐ์ผ๋ฉด ๋ก๊ทธ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๋ค.
๊ตฌ๋ Subscription
๊ฐValue
์ ์ ์ข ๋ฃNormal Completion
์คํจFailure
์ทจ์Cancellation
๋งค ์คํผ๋ ์ดํฐ ์คํ ํ Publisher์ ์ํ๋ฅผ ํ์ธํ๋ ๋ฑ ๋๋ฒ๊น ๊ณผ์ ์์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
print ์คํผ๋ ์ดํฐ์ ๊ด๋ จ์ด ์๋ค.
// Publishers.Print Publisher
Publishers
.Print(upstream: Just(Void()), prefix: "")
.sink(receiveCompletion: { completion in
switch completion {
case .failure:
print("Combine Print Error")
case .finished:
print("Combine Print Finish")
}
}, receiveValue: {
print("Combine Print")
})
.store(in: &cancellables)
// print Operator
Just(Void())
.print()
.sink(receiveCompletion: { completion in
switch completion {
case .failure:
print("Combine Print Error")
case .finished:
print("Combine Print Finish")
}
}, receiveValue: {
print("Combine Print")
})
.store(in: &cancellables)
// receive subscription: (Just)
// request unlimited
// receive value: (())
// Combine Print
// receive finished
// Combine Print Finishprefix์ ์คํ ์๊ฐ / ํ์ผ, ๋ผ์ธ, ํจ์ ์ด๋ฆ ์ ๋ณด ๋ฑ์ ๋ด์ผ๋ฉด ๋์ฑ ๋๋ฒ๊น
ํ๊ธฐ ์ข์ ๊ฒ์ด๋ค.
RxSwift
debug ์คํผ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ ์ ์๋ค.
ReactiveSwift
logEvents ์คํผ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ ์ ์๋ค.
Last updated
Was this helpful?