ACKReactiveExtensions 6.2.0

ACKReactiveExtensions 6.2.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2023 年 1 月
SPM支持 SPM

Jakub OlejníkJan MísařAckee Github 维护。



 
依赖
ReactiveCocoa~> 12.0
ReactiveSwift~> 7.0.0
 

  • Ackee

ackee|ACKReactiveExtensions

Build Version License Platform

ACKReactiveExtensions

ACKReactiveExtensions 是你可以在应用程序中使用的一组有用的 ReactiveCocoa 扩展。

目前我们有以下扩展:

如果你想使用更多扩展,请提交问题或更好的是创建一个 pull request!

安装

ACKReactiveExtensions 通过 CocoaPods 可用。只需将以下行添加到您的 Podfile 中

pod "ACKReactiveExtensions"

子规范

使用 `pod "ACKReactiveExtensions"`,您将仅获取通用和 UIKit 扩展,但也有您可能需要或喜欢的子规范。

pod 'ACKReactiveExtensions/AlamofireImage'
pod 'ACKReactiveExtensions/WebKit'

这些子规范通常需要额外的依赖项(例如 Argo 或 Reachability),并且您可能不需要它们的项目。这就是为什么将它们分离成子规范的原因。

用法

使用方法非常简单,ACKReactiveExtensions只提供了更多对ReactiveSwift的Reactive结构体的扩展,以便它可以在更多对象上使用。

let imageURL: Property<URL> = ...
let imageView = UIImageView()

imageView.reactive.imageURL <~ imageURL

映射扩展

ACKReactiveExtensions包含以下库的响应式映射扩展。有关更多信息,请参阅它们的页面。

映射配置

一般来说,我们反对在主线程上映射对象(你也应该这样),但你知道吗,人只活一次,所以我们还是给你提供了这样的机会。默认情况下,我们的映射扩展允许这种行为,但如果你想限制这种行为,你可以通过设置配置变量来做到这一点。

ACKReactiveExtensionsConfiguration.allowMappingOnMainThread = false

从现在起,映射扩展将期望在后台线程上调用,但别担心,我们使用了断言,所以即使在某些情况下事情没有按预期进行,你的生产用户也不会崩溃。

UITextField/UITextView 双向绑定

ACKReactiveExtensions包含一个特殊的双向绑定运算符<~>,它会创建MutableProperty和你的UITextField/UITextView之间的绑定。

到目前为止,所有这些绑定看起来都像这样

let textProperty: MutableProperty<String?> ...
let textField: UITextField ...

textField.reactive.text <~ textProperty
textProperty <~ textField.reactive.continousTextValues

从现在起,你可以使用<~>运算符

textProperty <~> textField

<~>运算符是交换律的,所以操作数的顺序不重要。

作者

Ackee团队

许可协议

ACKCategories 可在 MIT 许可协议下使用。有关更多信息,请参阅 LICENSE 文件。