All Projects → RxSwiftCommunity → Rxkingfisher

RxSwiftCommunity / Rxkingfisher

Licence: mit
Reactive extension for the Kingfisher image downloading and caching library

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Rxkingfisher

Rxswift Chinese Documentation
RxSwift 中文文档
Stars: ✭ 1,107 (+482.63%)
Mutual labels:  rxswift, reactivex
Rxswift
Reactive Programming in Swift
Stars: ✭ 21,163 (+11038.42%)
Mutual labels:  rxswift, reactivex
BringMyOwnBeer-
PunkAPI(BrewDog) 을 이용한 RxSwift-MVVM 예제 (Naver Tech Concert)
Stars: ✭ 80 (-57.89%)
Mutual labels:  reactivex, rxswift
Rxstorekit
StoreKit library for RxSwift
Stars: ✭ 96 (-49.47%)
Mutual labels:  rxswift, reactivex
Rxgrdb
Reactive extensions for SQLite
Stars: ✭ 176 (-7.37%)
Mutual labels:  rxswift
Combinerxswiftperformance
A test suite comparing the performance of Combine and RxSwift
Stars: ✭ 154 (-18.95%)
Mutual labels:  rxswift
Nearbyweather
NearbyWeather is an open source weather app for iOS, which uses the OpenWeatherMap API. With this project developers are invited to learn advanced iOS concepts, as well as to contribute further advancements. Fork this repo to get started.
Stars: ✭ 146 (-23.16%)
Mutual labels:  rxswift
Rxstate
Redux implementation in Swift using RxSwift
Stars: ✭ 142 (-25.26%)
Mutual labels:  rxswift
Rxreachability
RxSwift bindings for Reachability
Stars: ✭ 181 (-4.74%)
Mutual labels:  rxswift
Rxkotlinfx
Kotlin extensions to the RxJavaFX framework
Stars: ✭ 177 (-6.84%)
Mutual labels:  reactivex
Github.swift
Unofficial GitHub API client in Swift
Stars: ✭ 171 (-10%)
Mutual labels:  rxswift
Awesome Reactive Programming
A repository for sharing all the resources available on Reactive Programming and Reactive Systems
Stars: ✭ 163 (-14.21%)
Mutual labels:  reactivex
Rxwebkit
RxWebKit is a RxSwift wrapper for WebKit
Stars: ✭ 176 (-7.37%)
Mutual labels:  rxswift
Monix
Asynchronous, Reactive Programming for Scala and Scala.js.
Stars: ✭ 1,819 (+857.37%)
Mutual labels:  reactivex
Reactorkit
A library for reactive and unidirectional Swift applications
Stars: ✭ 2,237 (+1077.37%)
Mutual labels:  rxswift
Moya Modelmapper
ModelMapper bindings for Moya.
Stars: ✭ 143 (-24.74%)
Mutual labels:  rxswift
Swifthub
GitHub iOS client in RxSwift and MVVM-C clean architecture
Stars: ✭ 2,330 (+1126.32%)
Mutual labels:  rxswift
100 Days Of Rxswift
💨100 days and 40 project of RxSwift
Stars: ✭ 177 (-6.84%)
Mutual labels:  rxswift
Rxjava2 Extras
Utilities for use with RxJava 2
Stars: ✭ 167 (-12.11%)
Mutual labels:  reactivex
Moyasugar
🍯 Syntactic sugar for Moya
Stars: ✭ 165 (-13.16%)
Mutual labels:  rxswift

RxKingfisher

RxKingfisher is a Reactive Extension for Kingfisher - a lightweight, pure-Swift library for downloading and caching images from the web.

RxKingfisher Example

It provides Reactive Extensions on top of Kingfisher's .kf namespace, via .kf.rx and introduces two main usages:

Bind URL to Image View by Resource or Source

Every Image view supports two different options for binding a URL to an Image view.

optionSelected // Observable<Resource> or Observable<Source>
    .bind(to: image.kf.rx.image(options: [.transition(.fade(0.2))])
    .disposed(by: disposeBag)

OR

optionSelected // Observable<Resource> or Observable<Source>    
    .flatMap { url in imageView.kf.rx.setImage(with: url, options: [.transition(.fade(0.2))]) }
    .subscribe(onNext: { image in
        print("Image successfully loaded and set on Image view: \(image)")
    })
    .disposed(by: disposeBag)

Refer

URL is implementing Resource (See Kingfisher.Resource.swift)

Retrieve an Image without an Image View

Every KingfisherManager supports fetching an image from a URL, returning a Single<Image>:

tappedButton
    .flatMapLatest { KingfisherManager.shared.rx.retrieveImage(with: urlToImage) }
    .subscribe(onNext: { image in
        print("Image successfully loaded: \(image)")
    })
    .disposed(by: disposeBag)

License

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

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