All Projects → devxoul → RxReusable

devxoul / RxReusable

Licence: MIT license
Reusable cells and views for RxSwift

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to RxReusable

Swift-Viper-Weather-App
iOS app with Clean Architecture
Stars: ✭ 20 (-13.04%)
Mutual labels:  rxswift
awesome-demo-app
100% programmatically written in Swift. Clearly demonstrating the RxSwift, RxCocoa, RxRealm & SnapKit.
Stars: ✭ 16 (-30.43%)
Mutual labels:  rxswift
Moya-Gloss
Gloss bindings for Moya
Stars: ✭ 37 (+60.87%)
Mutual labels:  rxswift
mvvm-ios
A sample app to demonstrate MVVM implementation in iOS
Stars: ✭ 26 (+13.04%)
Mutual labels:  rxswift
swift-tensorflow
Dockerized Swift for TensorFlow and advanced usage examples.
Stars: ✭ 14 (-39.13%)
Mutual labels:  rxswift
onlyRxSwift
RxSwift範例跟一些學習心得
Stars: ✭ 28 (+21.74%)
Mutual labels:  rxswift
RxScreenProtectKit
Protect the screen from recording 🔐
Stars: ✭ 17 (-26.09%)
Mutual labels:  rxswift
RxAudioVisual
A reactive wrapper built around AVFoundation.
Stars: ✭ 24 (+4.35%)
Mutual labels:  rxswift
ReactiveAPI
Write clean, concise and declarative network code relying on URLSession, with the power of RxSwift. Inspired by Retrofit.
Stars: ✭ 79 (+243.48%)
Mutual labels:  rxswift
RxCleanSwift
Example repository of Clean Swift built on ReactiveX
Stars: ✭ 42 (+82.61%)
Mutual labels:  rxswift
KDInstagram
Instagram Clone built in Swift. Utilize three design patterns in three major modules.
Stars: ✭ 119 (+417.39%)
Mutual labels:  rxswift
HikingClub iOS
매시업산악회11기 iOS팀 열정! 열정! 열정!🔥🔥
Stars: ✭ 12 (-47.83%)
Mutual labels:  rxswift
RxStudy
RxSwift/RxCocoa框架,MVVM模式编写wanandroid客户端
Stars: ✭ 122 (+430.43%)
Mutual labels:  rxswift
RxSwift-MVVM-iOS
SwiftMVVM is an sample iOS App written in Swift using the MVVM architecture.
Stars: ✭ 96 (+317.39%)
Mutual labels:  rxswift
WhatFilm
Simple iOS app using TMDb API and RxSwift
Stars: ✭ 35 (+52.17%)
Mutual labels:  rxswift
iOS Started Kit
iOS Started Kit: Clean Architecture + RxSwift + Moya
Stars: ✭ 12 (-47.83%)
Mutual labels:  rxswift
RxExamples
RxSwift Examples.
Stars: ✭ 48 (+108.7%)
Mutual labels:  rxswift
aboon-ios
aboonは二人から始まるiOSクーポンアプリです。
Stars: ✭ 15 (-34.78%)
Mutual labels:  rxswift
CLE-Architecture-Tools
A library for making view controller presentation and dismissal more functional.
Stars: ✭ 32 (+39.13%)
Mutual labels:  rxswift
RxApolloClient
RxSwift extensions for Apollo Client
Stars: ✭ 46 (+100%)
Mutual labels:  rxswift

RxReusable

Swift CocoaPods Carthage compatible

RxReusable provides some APIs for managing life cycle of reusable cells and views.

APIs

⚠️ In order to use these features properly, you should set delegate by using rx.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 visible

Dependencies

Requirements

  • Swift 3
  • iOS 8+

Installation

  • Using CocoaPods:

    pod 'RxReusable', '~> 0.3'
  • Using Carthage:

    github "devxoul/RxReusable" ~> 0.3
    

License

RxReusable is under MIT license.

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].