RxSwift

print

https://github.com/shadowmanpat/rxnamer.git

https://github.com/ReactiveX/RxSwift

import RxSwift

import PlaygroundSupport

import Foundation

PlaygroundPage.current.needsIndefiniteExecution = true

let disposeBag = DisposeBag()

let numberSeq = Observable<Int>.just(5)

//let numberSubscriptiion = numberSeq.subscribe(onNext: { (int) in

//print(int)

//}, onError: { (error) in

//print(“error \(error)”)

//}, onCompleted: {

//print(“onCompleted”)

//}) {

//print(“onDispose”)

//}.disposed(by: disposeBag)

let helloSEquence = Observable.from([“h”,“e”,“l”,“l”,“o”])

//

struct Player {

var score: Variable<Int>

}

//Publish subject

var publishSubject = PublishSubject<String>()

publishSubject.onNext(“hello”)

publishSubject.onNext(“before”)

let pubSubscription = publishSubject.subscribe(onNext: { (value) in

print(value)

}, onError: { (errorr) in

}, onCompleted: {

}) {

}

publishSubject.onNext(“after”)

//behavior subject

var behaviorSubject = BehaviorSubject(value: “Value A”)

let sub1 = behaviorSubject.subscribe(onNext: {

print(“Subsctiption 1 : \($0)”)

})

behaviorSubject.onNext(“value b”)

behaviorSubject.onNext(“value C”)

let sub2 = behaviorSubject.subscribe(onNext: {

print(“Subsctiption 2 : \($0)”)

})

//replay subject

var accountSubject = ReplaySubject<Double>.create(bufferSize: 3)

var acountManager = accountSubject.subscribe(onNext: { (amount) in

print(“ammount \(amount)”)

}, onError: { (err) in

}, onCompleted: {

}) {

}

accountSubject.onNext(12.23)

accountSubject.onNext(299.3)

accountSubject.onNext(80.3)

accountSubject.onNext(29934.3)

accountSubject.onNext(80.6543)

var lastTreeTransaction = accountSubject.subscribe(onNext: {

print(“late three \($0)”)

})

//variables

//var variable = BehaviorRelay<Bool>(value: true)

//

//

//variable.asObservable().subscribe(onNext: {

//print(“variable $0”)

//})

//map

let formatter = NumberFormatter()

formatter.numberStyle = .spellOut

Observable<NSNumber>.of(123,23,543,65)

.map {

formatter.string(from: $0) ?? “”

}.subscribe(onNext: {

print(\($0)”)

}).disposed(by: disposeBag)

//flatmap

struct Game {

var price : Double

}

let overwatch = Game(price: 33.3)

let sett = Game(price: 23.23)

let gameSubject = PublishSubject<Game>()

gameSubject.subscribe(onNext: { (game) in

print(“game \(game.price)”)

}, onError: { (eroor) in

}, onCompleted: {

}) {

//}

//gameSubject.flatMap{

//$0.price

//}

gameSubject.onNext(overwatch)

gameSubject.onNext(sett)

let ?? = Player(score: Variable(80))

let player = Variable(??)

player.asObservable()

.flatMap { $0.score.asObservable() }

.subscribe(onNext: { print(“score: \($0)”) }) //score: 80

.disposed(by: disposeBag)

// Fliter

var disposeBag = DisposeBag()

Observable.of(“nikos”, “agas”,“steve”, “jobs”).filter { (string) -> Bool in

    string.starts(with: “n”)

}

    .subscribe(onNext: {

        print($0)

    })

.disposed(by: disposeBag)

//zip

let carMakes = Observable.of(“bmw”, “Bugatti”,“Lotus”)

let carModels = Observable.of(“320”, “Veyron”,“Elise”)

Observable.zip(carMakes,carModels) {

        $0+” “+$1

    }.subscribe(onNext:{

        print(\($0)”)

    })

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.