Ios 如何将多个观察者绑定到一个ControlProperty

Ios 如何将多个观察者绑定到一个ControlProperty,ios,swift,rx-swift,Ios,Swift,Rx Swift,我需要将slider.rx.value绑定到两个具有不同映射的观察者 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)

我需要将
slider.rx.value
绑定到两个具有不同映射的观察者

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)

但我觉得只有最后的装订才有效。如何实现这一点?

这是否实现了您的目标

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的一个很好的备忘单

Hm,从文档中不明显我需要
shareReplay(1)
进行绑定,但这可能是因为我是Rx的新手。而且我不需要重播缓冲区,所以
share()
对我来说就足够了。谢谢