CocoaPods trunk is moving to be read-only. Read more on the blog, there are 14 months to go.
| TestsTested | ✓ |
| LangLanguage | SwiftSwift |
| License | MIT |
| ReleasedLast Release | Apr 2017 |
| SwiftSwift Version | 3.1 |
| SPMSupports SPM | ✗ |
Maintained by Suyeol Jeon.
| Depends on: | |
| RxSwift | >= 3.0 |
| RxCocoa | >= 3.0 |
RxReusable provides some APIs for managing life cycle of reusable cells and views.
⚠️ In order to use these features properly, you should set delegate by usingrx.setDelegate(_:).UITableView
- tableView.delegate = self + tableView.rx.setDelegate(self)UICollectionView
- collectionView.delegate = self + collectionView.rx.setDelegate(self)
var disposeBag: DisposeBag
UITableViewCell and UICollectionView now has their own disposeBag as a property. The dispose bag is automatically disposed on prepareForReuse().
observable
.subscribe()
.addDisposableTo(cell.disposeBag)var isDisplaying: ControlEvent<Bool>
The reactive wrapper for the cell or view is currently displaying or not. This will emit true when the tableView(_:willDisplay:forRowAt:) or collectionView(_:willDisplay:forItemAt:) is executed and false when the tableView(_:didEndDisplaying:forRowAt:) or collectionView(_:didEndDisplaying:forItemAt:) is executed.
cell.rx.isDisplaying
.subscribe(onNext: { isDisplaying in
print("Cell became \(isDisplaying ? "visible" : "invisible")")
})func whileDisplaying(_:_:)
This operator makes the observable emit items only when the cell or view is currently displaying or not.
observable.whileDisplaying(cell, true) // emit items when the cell is visible
observable.whileDisplaying(cell, false) // emit items when the cell is not visibleUsing CocoaPods:
pod 'RxReusable', '~> 0.3'Using Carthage:
github "devxoul/RxReusable" ~> 0.3
RxReusable is under MIT license.