对 Apple Combine 的开源实现。
虽然 CombineX 已经实现了 Combine 的全部功能,但这一项目仍处于早期开发阶段。
Customize handling of asynchronous events by combining event-processing operators. -- Apple
Combine
是 Apple 在 WWDC 2019 上推出的函数式响应式编程框架。在可预见的将来,它一定会成为 Swift 编程的基石。
如果你开发的是库,建议使用
CXShim
以使其兼容 SwiftUI。
- Swift 5.0+ (Xcode 10.2+)
package.dependencies += [
.package(url: "https://github.com/cx-org/CombineX", from: "0.4.0"),
]
pod 'CombineX', "~> 0.4.0"
# 或者,如果你想用 `Foundation` 扩展:
pod 'CombineX/CXFoundation', "~> 0.4.0"
github "cx-org/CombineX" ~> 0.4.0
以下这些库为 Combine 添加了额外功能。它们都是 Combine 兼容库,你可以自由切换底层的 Combine 实现,以使用 CombineX 或是 Apple 提供的 Combine。
- CXTest: 针对 Combine 的单元测试工具,例如
TracingSubscriber
,VirtualTimeScheduler
等。 - CXExtensions:提供一系列有用的 Combine 扩展,例如:
IgnoreError
,DelayedAutoCancellable
等。 - CXCocoa:提供
Cocoa
的 Combine 扩展。例如KVO+Publisher
,Method Interception
,UIBinding
,Delegate Proxy
等。
CombineX 以 MIT 协议发布. 查看 LICENSE 获取更多信息.
以下文件取自 Swift 项目: