RxConveniences
RxSwift 的一组小便利函数,旨在提高使用时的清晰度。
查看示例项目了解一些演示。
额外的绑定
添加更多对常用属性的响应式绑定,例如 UIView.tintColor
。
集合绑定
扩展 CollectiveSwift,为常见对象的集合提供响应式绑定。结合从故事板中获取的릿 outlet 集合,您可以用少量的代码做很多事情。例如
.bind(to: labels.all.rx.textColor, tintableViews.all.rx.tintColor, ...)
操作符和实用工具
我经常制作一些类似杂乱的小可观察映射。例如
booleanSource.map { !$0 }
Observable.combineLatest(left, right).map { $0.0 || $0.1 }
typedSource.map { _ in () }.bind(to: voidObserver)
但这些可以变得更清晰
(!booleanSource)
(left || right)
typedSource.trigger(voidObserver)
对于具有明确类型输出的控件(如按钮(Void
)、开关(Bool
)和滑块(Float
)),我们可以直接绑定和映射它们。例如,slider.bind(to:)
可能和slider.rx.value.bind(to:)
一样清晰。
您可能会喜欢,例如,slider.rx.bind(to:)
,这同样也是可用的。如果您对某一方有更强烈的偏好,请告诉我!
单行按钮按下效果
可用于按钮的一个好功能
button.addPressEffect().disposed(by: ...)
...还有更多!
许可证
MIT