Skip to content

Instantly share code, notes, and snippets.

@andreaslydemann
Created January 20, 2019 14:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andreaslydemann/6323959257d07275299ab87d9413f8c6 to your computer and use it in GitHub Desktop.
Save andreaslydemann/6323959257d07275299ab87d9413f8c6 to your computer and use it in GitHub Desktop.
import RxSwift
public struct Person {
public var car: BehaviorSubject<String>
public init(car: BehaviorSubject<String>) {
self.car = car
}
}
let disposeBag = DisposeBag()
let persons = PublishSubject<Person>()
persons
.flatMap {
$0.car
}
.subscribe(onNext: {
print($0)
})
.disposed(by: disposeBag)
let john = Person(car: BehaviorSubject(value: "Toyota Corolla"))
persons.onNext(john)
let alice = Person(car: BehaviorSubject(value: "Honda Accord"))
persons.onNext(alice)
john.car.onNext("Ford Model T")
// Output:
// Toyota Corolla
// Honda Accord
// Ford Model T
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment