RxSwiflty
E-sites 移动开发部门创建的 RxSwift 扩展集合。
兼容性
- Swift 4.2
- RxSwift 4.4.0
- Xcode 10.1
- Cocoapods 1.6.0
安装
Podfile
pod 'RxSwiftly/<Framework>/<Class>'
查看 收集 了解所有框架及其子规范概述
target 'Project' do
# RxSwiftly
pod 'RxSwiftly/UIKit/UIApplication'
pod 'RxSwiftly/UIKit/UITextField'
pod 'RxSwiftly/CoreMotion/CMMotionManager'
end
收集
🎨 UIKit
🏇 CoreMotion
核心
NSObject+rx
不需要在每个类中声明
DisposeBag
。
class MyViewController: UIViewController {
- let disposeBag = DisposeBag()
}
继承自NSObject
的每个类都会自动添加一个懒加载变量disposeBag
缓存
维基百科:在计算机领域,缓存是一种优化技术,主要用于通过存储昂贵的函数调用结果,并在相同的输入再次出现时返回缓存的結果,从而加快计算机程序的速度。
Observable.pairwise()
在输入可观察对象的第二次及以后触发时触发。
输入可观察对象的第N次触发将传递第N-1次和第N次触发的参数作为一个对。
有关更多信息,请参阅RxMarbles.com#pairwise
User.current.rx.state
.pairwise()
.filter { $0.0 == .loggedIn && $0.1 == .loggedOut }
.subscribe { _ in
logger.warning("User logged out!")
}
.addDisposableTo(disposeBag)
优于Observable.zip(sequence.skip(1), sequence)
的方式