测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最新发布 | 2017年4月 |
SwiftSwift 版本 | 3.1 |
SPM支持 SPM | ✗ |
由 Suyeol Jeon 维护。
依赖项 | |
RxSwift | >= 3.0 |
RxCocoa | >= 3.0 |
RxReusable 提供了一些 API 来管理可重用单元格和视图的生命周期。
⚠️ 为了正确使用这些功能,您应该使用rx.setDelegate(_:)
设置代理。UITableView
- tableView.delegate = self + tableView.rx.setDelegate(self)UICollectionView
- collectionView.delegate = self + collectionView.rx.setDelegate(self)
var disposeBag: DisposeBag
UITableViewCell
和 UICollectionView
现在都有它们自己的 disposeBag
属性。在执行 prepareForReuse()
时将自动取消订阅。
observable
.subscribe()
.addDisposableTo(cell.disposeBag)
var isDisplaying: ControlEvent
这是单元格或视图的响应代理当前是否显示的响应封装。在执行 tableView(_:willDisplay:forRowAt:)
或 collectionView(_:willDisplay:forItemAt:)
时会发出 true
,在执行 tableView(_:didEndDisplaying:forRowAt:)
或 collectionView(_:didEndDisplaying:forItemAt:)
时会发出 false
。
cell.rx.isDisplaying
.subscribe(onNext: { isDisplaying in
print("Cell became \(isDisplaying ? "visible" : "invisible")")
})
func whileDisplaying(_:_:)
此运算符仅在单元格或视图当前显示或不在显示时产生可观察的项。
observable.whileDisplaying(cell, true) // emit items when the cell is visible
observable.whileDisplaying(cell, false) // emit items when the cell is not visible
使用 CocoaPods:
pod 'RxReusable', '~> 0.3'
使用 Carthage:
github "devxoul/RxReusable" ~> 0.3
RxReusable 的许可证为 MIT 协议。