Skip to content

RxSwiftCommunity/RxASDataSources

Repository files navigation

RxASDataSources

Platforms License Carthage compatible CocoaPods compatible Travis

RxDataSources for AsyncDisplayKit/Texture: ASTableNode & ASCollectionNode.

Features

  • O(N) Diff algorithm from RxDataSources/Differentiator
  • Shared RxDataSources's APIs so you must learn only once.
  • Supports ASTableNode and ASCollectionNode
  • Support nodeBlock
  • More complex Example app

Requirements

  • iOS 9.0+
  • Xcode 10.1+
  • RxSwift 5.0 & Texture 2.8

Installation

CocoaPods

To integrate RxASDataSources into your Xcode project using CocoaPods, specify it in your Podfile:

pod 'RxASDataSources'

Then, run the following command:

$ pod install

Carthage

To integrate RxASDataSources into your Xcode project using Carthage, specify it in your Cartfile:

github "RxSwiftCommunity/RxASDataSources"

Usage

Working with RxASDataSources will be very simple if you are familiar with RxDataSources:

typealias Section = SectionModel<String, Int>

let configureCell: ASTableSectionedDataSource<Section>.ConfigureCell = { (dataSource, tableNode, index, model) in
     let cell = ASTextCellNode()
     cell.text = model.info
     return cell
 }

 let animation = RowAnimation(insertAnimation: .automatic, reloadAnimation: .fade, deleteAnimation: .automatic)
 let dataSource = RxASTableSectionedReloadDataSource<Section>(animationConfiguration: animation, configureCell: configureCell)

 items
    .bind(to: tableNode.rx.items(dataSource: dataSource))
    .disposed(by: disposeBag)

For more advance usages, please follow RxDataSources and Example then simply replace your Views -> Nodes.

License

RxASDataSources is released under the MIT license. See LICENSE for details.