iOS/Combine
사용자 정의(custom) 구독자(subscriber) 만들기
까칠코더
2023. 5. 10. 13:16
반응형
- Int 값을 최대 2개만 수신하는 사용자 정의 구독자
class IntSubscriber: Subscriber {
typealias Input = Int
typealias Failure = Never
func receive(subscription: Subscription) {
subscription.request(.max(2))
}
func receive(_ input: Int) -> Subscribers.Demand {
print("Received value", input)
return .none
}
func receive(completion: Subscribers.Completion<Never>) {
print("Received completion", completion)
}
}
// How to use
let publisher = (1...6).publisher
let subscriber = IntSubscriber()
publisher.subscribe(subscriber)
- Int 값을 제한 없이 수신하는 사용자 정의 구독자
class IntSubscriber: Subscriber {
typealias Input = Int
typealias Failure = Never
func receive(subscription: Subscription) {
subscription.request(.max(2))
}
func receive(_ input: Int) -> Subscribers.Demand {
print("Received value", input)
return .unlimited
}
func receive(completion: Subscribers.Completion<Never>) {
print("Received completion", completion)
}
}
// How to use
let publisher = (1...6).publisher
let subscriber = IntSubscriber()
publisher.subscribe(subscriber)
반응형