我需要将slider.rx.value
绑定到具有不同映射的2个观察者。
slider.rx.value.map { [unowned self] in self.formatter.string(from: NSNumber(value: $0)) ?? "" }
.bindTo(textFieldAlpha.rx.text)
.addDisposableTo(disposeBag)
slider.rx.value.map { Enhance.Global(alpha: $0) }
.bindTo(enhance)
.addDisposableTo(disposeBag)
但我似乎只有最后一个绑定才有效。怎么做到这一点?
答案 0 :(得分:3)
这会达到你想要的效果吗?
let observable = slider.rx.value.shareReplay(1)
observable.map { [unowned self] in self.formatter.string(from: NSNumber(value: $0)) ?? "" }
.bindTo(textFieldAlpha.rx.text)
.disposed(by: disposeBag)
observable.map { Enhance.Global(alpha: $0) }
.bindTo(enhance)
.disposed(by: disposeBag)
如果您不需要缓冲区
,则替代let observable = slider.rx.value.share()
这里还有一个指向RxSwift https://www.cheatography.com/donghua-li/cheat-sheets/rxswift-operators/
的优秀备忘单的链接