All Projects â†’ yuzushioh â†’ Rxiglistkit

yuzushioh / Rxiglistkit

IGListKit with RxSwift🚀

Programming Languages

swift
15916 projects
swift3
66 projects

Projects that are alternatives of or similar to Rxiglistkit

SwiftObserver
Elegant Reactive Primitives for Clean Swift Architecture #NoRx
Stars: ✭ 14 (-91.95%)
Mutual labels:  reactive, rxswift
Rxswift
Reactive Programming in Swift
Stars: ✭ 21,163 (+12062.64%)
Mutual labels:  reactive, rxswift
Mp3ID3Tagger
🎶🎵A macOS application to edit the ID3 tag of your mp3 files. Developed with RxSwift and RxCocoa. 🎸🎼
Stars: ✭ 17 (-90.23%)
Mutual labels:  reactive, rxswift
Recaptcha
[In]visible ReCaptcha v2 for iOS
Stars: ✭ 208 (+19.54%)
Mutual labels:  reactive, rxswift
Rxswift To Combine Cheatsheet
RxSwift to Apple’s Combine Cheat Sheet
Stars: ✭ 1,040 (+497.7%)
Mutual labels:  reactive, rxswift
ReactiveAPI
Write clean, concise and declarative network code relying on URLSession, with the power of RxSwift. Inspired by Retrofit.
Stars: ✭ 79 (-54.6%)
Mutual labels:  reactive, rxswift
mvcvm-swift-file-templates
Swift file templates for boosting mobile app development.
Stars: ✭ 16 (-90.8%)
Mutual labels:  reactive, rxswift
Cycle.swift
An experiment in unidirectional architecture inspired by Cycle.js. https://cycle.js.org
Stars: ✭ 24 (-86.21%)
Mutual labels:  reactive, rxswift
Rxiglistkit
RxSwift wrapper for IGListKit
Stars: ✭ 44 (-74.71%)
Mutual labels:  reactive, rxswift
Rxrealm
RxSwift extension for RealmSwift's types
Stars: ✭ 1,007 (+478.74%)
Mutual labels:  reactive, rxswift
Reactorkit
A library for reactive and unidirectional Swift applications
Stars: ✭ 2,237 (+1185.63%)
Mutual labels:  reactive, rxswift
Easyreact
Are you confused by the functors, applicatives, and monads in RxSwift and ReactiveCocoa? It doesn't matter, the concepts are so complicated that not many developers actually use them in normal projects. Is there an easy-to-use way to use reactive programming? EasyReact is born for this reason.
Stars: ✭ 1,616 (+828.74%)
Mutual labels:  reactive, rxswift
Rxgrdb
Reactive extensions for SQLite
Stars: ✭ 176 (+1.15%)
Mutual labels:  reactive, rxswift
Sensor
A fresh look at iOS development
Stars: ✭ 37 (-78.74%)
Mutual labels:  reactive, rxswift
Rxcombine
Bi-directional type bridging between RxSwift and Apple's Combine framework
Stars: ✭ 741 (+325.86%)
Mutual labels:  reactive, rxswift
Rxasdatasources
RxDataSource for AsyncDisplayKit/Texture
Stars: ✭ 114 (-34.48%)
Mutual labels:  reactive, rxswift
Reduxmoviedb
🎥 See the upcoming movies! ReSwift + RxSwift 💖 Hacktoberfest 🎃
Stars: ✭ 137 (-21.26%)
Mutual labels:  reactive, rxswift
Mobx Rest
REST conventions for Mobx
Stars: ✭ 164 (-5.75%)
Mutual labels:  reactive
Sparkarshaders
Ar Studio / Ar Spark shaders.
Stars: ✭ 169 (-2.87%)
Mutual labels:  instagram
Newbe.claptrap
This is a frameworks with reactive, event sourcing and Actor pattern as basic theories. On top of this, developers can create "distributed", "scale out", and "easy to test" application more simply. Claptrap and it`s Minions is on the way.
Stars: ✭ 163 (-6.32%)
Mutual labels:  reactive

RxIGListKit

This library wraps IGListAdapter in IGListKit with RxSwift like UICollectionView and UITableView. Trying to use IGListKit with RxSwift and to find a better way to improve it🚀 not ready for production🙅

Example

I implemented Instagram UI with RxSwift and IGListKit in the same way Instagram feed is implemented - detail

To see, clone this repository and run!

|

How to use

Create a dataSource comfirmed to RxListAdapterDataSource and ListAdapterDataSource and use it like UICollectionView and UITableView in RxSwift🎉

lazy privatevar adapter: ListAdapter = {
    return ListAdapter(updater: ListAdapterUpdater(), viewController: self, workingRangeSize: 2)
}()

private let disposeBag = DisposeBag()
private let dataSource = DataSource()

override func viewDidLoad() {
    super.viewDidLoad()
    
    adapter.rx.setDataSource(dataSource)
        .disposed(by: disposeBag)

    viewModel.feeds
        .drive(adapter.rx.items(dataSource: dataSource))
        .disposed(by: disposeBag)
}
final class DataSource: NSObject, ListAdapterDataSource, RxListAdapterDataSource {
    typealias Element = [Foo]
    var elements: Element = []

    func listAdapter(_ adapter: ListAdapter, observedEvent: Event<Element>) {
        if case .next(let elements) = observedEvent {
            self.elements = elements
            adapter.performUpdates(animated: true)
        }
    }

    func objects(for listAdapter: ListAdapter) -> [ListDiffable] {
        return elements
    }

    func listAdapter(_ listAdapter: ListAdapter, sectionControllerFor object: Any) -> ListSectionController {
        return SectionController()
    }

    func emptyView(for listAdapter: ListAdapter) -> UIView? {
        return nil
    }
}

Help

I am trying to find a good way to wrap up ListSectionViewController and its delegates. it would be very appriciated to make an issue or PR!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].