Skip to content

Instantly share code, notes, and snippets.

@ljubinkovicd
Last active December 10, 2018 12:10
Show Gist options
  • Save ljubinkovicd/6aeab3fba5fff3b8aba8701a5612fff3 to your computer and use it in GitHub Desktop.
Save ljubinkovicd/6aeab3fba5fff3b8aba8701a5612fff3 to your computer and use it in GitHub Desktop.
Basic example of how to use the RxSwift operators.
let disposeBag = DisposeBag()
let observable = Observable.of(1, 2, 3, 4, 5, 6)
var evenNumbers = [String]()
func getFormatter() -> (Int) -> String {
let value = NumberFormatter()
value.numberStyle = .spellOut
return {
value.string(from: NSNumber(value: $0)) ?? "A number?"
}
}
let formatToString = getFormatter()
observable
.filter { $0 % 2 == 0 }
.map(formatToString)
.toArray()
.subscribe(
onNext: { numbers in
evenNumbers = numbers
}, onCompleted: {
print("Even numbers: \(evenNumbers)")
})
.disposed(by: disposeBag)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment