PublishSubject: 看过http://www.jianshu.com/p/77ad1615c380 该文章写的很好 我写的不过的是很小的补充而已


func publishSubject() {
let subject: PublishSubject = PublishSubject<String>()
subject.on(.Next("0"))
subject.subscribe { event in
print("1: \(event)")
}.addDisposableTo(disposeBag)
subject.on(.Next("a"))
subject.on(.Next("b"))
subject.subscribe { event in
print("2: \(event)")
}.addDisposableTo(disposeBag)
subject.subscribe { event in
print("3: \(event)")
}.addDisposableTo(disposeBag)
subject.on(.Next("c"))
subject.on(.Next("d"))
}
我们先将所有的的subject.on按先后顺序排列起来 信号源就形象为这个样子



func replaySubject() {
let subject: ReplaySubject = ReplaySubject<String>.create(bufferSize: 1)
subject.on(.Next("0"))
subject.on(.Next("1"))
subject.on(.Next("2"))
subject.subscribeNext { (item) in
print("subscribe1: \(item)")
}.addDisposableTo(disposeBag)
subject.on(.Next("a"))
subject.on(.Next("b"))
subject.subscribeNext { (item) in
print("subscribe2: \(item)")
}.addDisposableTo(disposeBag)
subject.on(.Next("c"))
subject.on(.Next("d"))
}
let subject: ReplaySubject = ReplaySubject<String>.create(bufferSize: 1)
其中这句话的意思是监听写在subscribe之前一个的.on(xxx)信号 并且从从这个信号开始监听,这个bufferSize写的是几,就监听从写在subscribe之前几个,并且从该信号开始监听 信号流情况
