3
let stream = PublishSubject<Int>()
let trigger = PublishSubject<Void>()
stream.sample(trigger).subscribeNext { value in print("value \(value)") }
stream.onNext(5)
trigger.onCompleted()
上面將「value 5」打印到控制檯。我發現這很令人驚訝,因爲我從來沒有在觸發器上調用onNext()。`樣本`完成後觸發。如何避免?
在我的情況下,trigger
代表保存按鈕rx_tap
,而stream
代表要保存的有效輸入。我的問題是,當觸發器完成時(銷燬時)即使未點擊該流,也會保存流。