CombineX
苹果公司 Combine 的开源实现,用于处理随时间推移的值。
尽管 CombineX 实现了所有 Combine 接口,但该项目仍在早期开发阶段,未准备好用于生产。
什么是 Combine
通过组合事件处理算子来自定义异步事件的处理。 -- Apple
Combine 是苹果公司在 2019 年的 WWDC 上推出的一个 函数式响应式编程 (FRP) 框架。它必将成为未来可预见的 Swift 编程的基石。
开始
需求
- Swift 5.0 (Xcode 10.2)
安装
SwiftPackageManager(推荐)
dependencies.append(
.package(url: "https://github.com/cx-org/CombineX", from: "0.1.0")
)CocoaPods
pod 'CombineX', "~> 0.1.0"Carthage
github "cx-org/CombineX" ~> 0.1.0
某些功能在特定PM中不可用。
| Swift PM | CocoaPods | Carthage | |
|---|---|---|---|
| CXShim | 是 | 否 | 否 |
| ObserableObject | 是 | 否 | 否 |
相关项目
这些库为Combine带来了额外的功能。它们都是 Combine 兼容包,您可以在 CombineX 和 Apple 的 Combine 之间自由切换底层的 Combine 实现。
- CXCocoa:为
Cocoa提供了Combine扩展,例如KVO+Publisher、Method Interception、UIBinding、Delegate Proxy等。 - CXExtensions:为
Combine提供了一系列有用的扩展,例如IgnoreError、DelayedAutoCancellable等。