RxReusable 0.3.1

RxReusable 0.3.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2017年4月
SwiftSwift 版本3.1
SPM支持 SPM

Suyeol Jeon 维护。



 
依赖项
RxSwift>= 3.0
RxCocoa>= 3.0
 

  • Suyeol Jeon

RxReusable 提供了一些 API 来管理可重用单元格和视图的生命周期。

API

⚠️为了正确使用这些功能,您应该使用 rx.setDelegate(_:) 设置代理。

UITableView

- tableView.delegate = self
+ tableView.rx.setDelegate(self)

UICollectionView

- collectionView.delegate = self
+ collectionView.rx.setDelegate(self)
  • var disposeBag: DisposeBag

    UITableViewCellUICollectionView 现在都有它们自己的 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

依赖项

要求

  • Swift 3
  • iOS 8+

安装

  • 使用 CocoaPods:

    pod 'RxReusable', '~> 0.3'
  • 使用 Carthage:

    github "devxoul/RxReusable" ~> 0.3
    

许可证

RxReusable 的许可证为 MIT 协议。