PassthroughSubject
创建和使用 PassthroughSubject
PassthroughSubject基本用法
import Combine
// 创建一个PassthroughSubject,它发出的值是Int类型,错误类型是Error
let passthroughSubject = PassthroughSubject<Int, Error>()
// 创建一个订阅者
let subscription = passthroughSubject.sink { completion in
switch completion {
case .finished:
print("Finished")
case .failure(let error):
print("Error: \(error)")
}
} receiveValue: { value in
print("Received value: \(value)")
}
// 发布值
passthroughSubject.send(1)
passthroughSubject.send(2)
passthroughSubject.send(3)
// 完成Publisher
passthroughSubject.send(completion: .finished)发送值
订阅和接收值
处理错误
与其他Publisher结合使用
取消订阅
典型使用场景
PassthroughSubject 与 CurrentValueSubject 的区别
PassthroughSubject 与 CurrentValueSubject 的区别总结
Last updated