入门
了解 ReactiveSwift 的核心响应式原语以及这些原语提供的基本操作器。
扩展模块
模块 | 仓库 | 描述 |
---|---|---|
ReactiveCocoa |
ReactiveCocoa/ReactiveCocoa
|
使用 ReactiveSwift 绑定和扩展扩展 Cocoa 框架和 Objective-C 运行时 API。 |
循环 |
ReactiveCocoa/Loop
|
使用 ReactiveSwift 组合单向数据流。 |
ReactiveSwift 组合架构 |
trading-point/reactiveswift-composable-architecture
|
使用 ReactiveSwift 而不是 Combine 的 点免费组合架构。 |
什么是 ReactiveSwift?
ReactiveSwift 提供了一系列可组合、声明性且灵活的基本操作,这些操作是基于 随时间变化的值流 这一核心概念构建的。
这些基本操作可用于统一表示常见的 Cocoa 和通用编程模式,这些模式本质上都是观察行为,例如代理模式、回调闭包、通知、控制动作、响应链事件、未来/承诺 和 键值观察(KVO)。
由于所有这些不同机制都可以以相同的方式进行表示,因此很容易声明性地将它们组合在一起,减少了需要跨越间隙的代码和状态。
参考文献
-
ReactiveSwift 基本操作的协议、ReactiveSwift 最佳实践和自定义算子的实现指南。
安装
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
添加到目标中的 "链接框架和库" 部分,并在 Carthage 框架复制构建阶段中包含它们。
CocoaPods
如果您使用 CocoaPods 管理依赖项,只需将 ReactiveSwift 添加到您的 Podfile
pod 'ReactiveSwift', '~> 6.1'
Swift 包管理器
如果您使用 Swift 包管理器,只需在 Package.swift
中将 ReactiveSwift 添加为包的依赖即可。
.package(url: "https://github.com/ReactiveCocoa/ReactiveSwift.git", from: "6.1.0")
Git 子模块
- 将 ReactiveSwift 仓库添加为您的应用程序仓库的 子模块。
- 在 ReactiveCocoa 文件夹内运行
git submodule update --init --recursive
。 - 将
ReactiveSwift.xcodeproj
拖放到您的应用程序的 Xcode 项目或工作空间中。 - 在您应用程序目标的“通用”选项卡的设置中,将
ReactiveSwift.framework
添加到“已嵌入的二进制文件”部分。 - 如果您的应用程序目标完全不包含 Swift 代码,您还应该将
EMBEDDED_CONTENT_CONTAINS_SWIFT
构建设置设置为“是”。
Playground
我们还提供了一个 Playground,以便您可以熟悉 ReactiveCocoa 的操作符。为了开始使用它
- 从 ReactiveSwift 仓库克隆。
- 使用以下命令之一从包含 ReactiveSwift 项目的根目录检索项目依赖项
git submodule update --init --recursive
或,如果您已经安装了 Carthagecarthage checkout
- 打开
ReactiveSwift.xcworkspace
。 - 构建
ReactiveSwift-macOS
方案。 - 最后,打开
ReactiveSwift.playground
。 - 选择
查看 > 显示调试区域
。
有疑问吗?
如果您需要任何帮助,请访问我们的 GitHub 问题 或 Stack Overflow。如有必要,您可以在存档中找不到任何解决方案时提交问题。
发布路线图
记录计划
ABI 稳定版本发布
ReactiveSwift 目前没有计划声明 ABI 和模块稳定性。在未来可预见的时期内,它将继续作为仅源依赖项提供。