圖片發自簡書App
一直迷惑該方法的使用,看了這篇文章 有了一點眉目,就記錄下來
let sequenceOfInts = PublishSubject<Int>()
let a = sequenceOfInts.map{ i -> Int in
print("MAP---\\(i)")
return i * 2
}//.shareReplay(3)
let b = a.subscribeNext {
print("--1--\\($0)")
}
sequenceOfInts.on(.Next(1))
sequenceOfInts.on(.Next(2))
let c = a.subscribeNext {
print("--2--\\($0)")
}
sequenceOfInts.on(.Next(3))
sequenceOfInts.on(.Next(4))
let d = a.subscribeNext {
print("--3--\\($0)")
}
sequenceOfInts.on(.Completed)
/**
count= 0
MAP---1
--1--2
MAP---2
--1--4
--2--2
--2--4
MAP---3
--1--6
--2--6
MAP---4
--1--8
--2--8
--3--4
--3--6
--3--8
未replay的結果
count= 0
MAP---1
--1--2
MAP---2
--1--4
MAP---3
--1--6
MAP---3
--2--6
MAP---4
--1--8
MAP---4
--2--8
*/
改方法的目的就是減少map的操作次數