ReactiveSwift

随时间推移的值流。专为 Swift 定制。

Latest ReactiveSwift Documentation Join the ReactiveSwift Slack community.


Carthage compatible CocoaPods compatible SwiftPM compatible GitHub release Swift 5.1 platforms

🚄 发布路线图

入门指南

了解 ReactiveSwift 中的 核心响应式原语 和这些原语提供的 基本操作符

扩展模块

模块 仓库 描述
ReactiveCocoa ReactiveCocoa/ReactiveCocoa

使用 ReactiveSwift 绑定和扩展来扩展 Cocoa 框架和 Objective-C 运行时 API。

Loop ReactiveCocoa/Loop

使用 ReactiveSwift 的可组合单向数据流。

ReactiveSwift 可组合架构 trading-point/reactiveswift-composable-architecture

使用 ReactiveSwift 而不是 Combine 的 Pointfree 可组合架构

ReactiveSwift 简而言之是什么?

ReactiveSwift 提供了可组合、声明式和灵活的原语,这些原语围绕着 随时间推移的值流 这一宏大概念构建。

这些原语可以用于统一表示常见的 Cocoa 和通用编程模式,这些模式从根本上来说是一种观察行为,例如委托模式、回调闭包、通知、控件动作、响应链事件、futures/promises键值观察 (KVO)。

由于所有这些不同的机制都可以用相同的方式表示,因此可以很容易地以声明方式将它们组合在一起,从而减少了桥接差距的意大利面条式代码和状态。

参考

  1. API 参考

  2. API 约定

    ReactiveSwift 原语的约定、ReactiveSwift 的最佳实践以及实现自定义操作符的指南。

  3. 调试技巧

  4. RxSwift 迁移速查表

安装

ReactiveSwift 支持 macOS 10.13+、iOS 11.0+、watchOS 4.0+、tvOS 11.0+ 和 Linux。

Carthage

如果您使用 Carthage 来管理您的依赖项,只需将 ReactiveSwift 添加到您的 Cartfile

github "ReactiveCocoa/ReactiveSwift" ~> 6.1

如果您使用 Carthage 构建您的依赖项,请确保您已将 ReactiveSwift.framework 添加到您目标的“Linked Frameworks and Libraries”部分,并将它们包含在您的 Carthage 框架复制构建阶段中。

CocoaPods

如果您使用 CocoaPods 来管理您的依赖项,只需将 ReactiveSwift 添加到您的 Podfile

pod 'ReactiveSwift', '~> 6.1'

Swift Package Manager

如果您使用 Swift Package Manager,只需将 ReactiveSwift 作为您包的依赖项添加到 Package.swift

.package(url: "https://github.com/ReactiveCocoa/ReactiveSwift.git", from: "6.1.0")

Git 子模块

  1. 将 ReactiveSwift 仓库作为您应用程序仓库的 子模块 添加。
  2. 从 ReactiveCocoa 文件夹中运行 git submodule update --init --recursive
  3. ReactiveSwift.xcodeproj 拖放到您应用程序的 Xcode 项目或工作区中。
  4. 在您应用程序目标设置的“General”选项卡上,将 ReactiveSwift.framework 添加到“Embedded Binaries”部分。
  5. 如果您的应用程序目标根本不包含 Swift 代码,您还应该将 EMBEDDED_CONTENT_CONTAINS_SWIFT 构建设置设置为“Yes”。

Playground

我们还提供了一个 Playground,以便您可以习惯 ReactiveCocoa 的操作符。为了开始使用它

  1. 克隆 ReactiveSwift 仓库。
  2. 使用以下终端命令之一从 ReactiveSwift 项目根目录检索项目依赖项
    • git submodule update --init --recursive ,如果您安装了 Carthage
    • carthage checkout
  3. 打开 ReactiveSwift.xcworkspace
  4. 构建 ReactiveSwift-macOS scheme
  5. 最后打开 ReactiveSwift.playground
  6. 选择 View > Show Debug Area

有疑问?

如果您需要任何帮助,请访问我们的 GitHub issuesStack Overflow。如果您未能从存档中找到任何解决方案,请随时提交 issue。

发布路线图

当前稳定版本
GitHub release

记录计划

ABI 稳定性版本

ReactiveSwift 目前没有声明 ABI 和模块稳定性的计划。在可预见的未来,它将继续作为仅源代码依赖项提供。