CombineRelay 0.1.2

CombineRelay 0.1.2

Daniel Duan 维护。



Relay

Relay 是一个没有发送完成信号接口的 Combine.Subject

为什么

Subject,就像 Publisher,是状态化的。一旦发送了完成信号,订阅者将停止接收值。在实际应用中,这很少是所希望的。任何持有主题引用的人都可以为所有订阅者终止数据流。在大型项目中,这可能是bug的来源。

Relay 抵消了“完成”状态的可变性,使其更安全地共享。

安装

Xcode

添加包 https://github.com/dduan/Relay.git

Swift 包管理器

.package(url: "http://github.com/dduan/Relay", from: "0.1.2")

CocoaPods

use_frameworks!

pod "CombineRelay"

Carthage

github "dduan/Relay"

使用方法

Relay 提供了一些类型,每个类型都对应 Combine 中的一个类型。

Relay Combine
Relay Subject
PassthroughRelay PassthroughSubject
CurrentValueRelay CurrentValueSubject
AnyRelay AnySubject

每种类型都具有与其 Combine 对应类型相同的接口和行为。但无法发送完整的信号。

许可协议

MIT。请参阅 LICENSE.md