Skip to content

Instantly share code, notes, and snippets.

@iamyogish
Created February 10, 2017 10:28
Show Gist options
  • Save iamyogish/ef7c25a8c945ae11b63d4437dcc4a332 to your computer and use it in GitHub Desktop.
Save iamyogish/ef7c25a8c945ae11b63d4437dcc4a332 to your computer and use it in GitHub Desktop.
import RxSwift
import Foundation
example("startWith") {
Observable.of("1", "2", "3")
.startWith("A")
.startWith("B")
.startWith("C", "D")
.subscribe(onNext: {print($0)})
}
example("merge") {
let sub1 = PublishSubject<String>()
let sub2 = PublishSubject<String>()
Observable.of(sub1, sub2)
.merge()
.subscribe(onNext: {print($0) })
sub1.onNext("A")
sub1.onNext("B")
sub2.onNext("1")
sub2.onNext("2")
sub1.onNext("B")
sub2.onNext("3")
}
example("zip") {
let stringSubject = PublishSubject<String>()
let intSubject = PublishSubject<Int>()
Observable.zip(stringSubject, intSubject, resultSelector: { (stringElement, intElement) -> String in
return "\(stringElement) \(intElement)"
})
.subscribe(onNext: {print($0)})
stringSubject.onNext("A")
intSubject.onNext(1)
intSubject.onNext(2)
stringSubject.onNext("B")
}
example("doOn"){
Observable.of(-40, 32, 29, 1000)
.do(onNext: {
print("\($0)F =", terminator: "")
})
.map({
return $0 - 32
})
.subscribe(onNext: {print("\($0) C")})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment