我正在尝试在我的一个项目中切换到 Swift Bond 5 和 Swift 3。我遇到了两个方向绑定的问题。如何转换下面的代码,以便当我的滑块更改时它会逐步发出不同的信号并将其值设置为半径可观察值。在旧的 Bond 4 和 Swift 2.3 中一切正常,但我不知道如何处理这种迁移。
let radiusSlider: UISlider = /* slider initialisation */
let radius = Observable<Float>(10.0)
let stepValue:Float = 50.0
let sliderStepObserver = radiusSlider.bnd_value.map { roundf($0/stepValue)*stepValue }.distinct()
radiusSlider.value = radius.value
radius.bidirectionalBind(to: sliderStepObserver) /* here is the problem */
错误消息说:
Argument type 'Signal<Float, DynamicSubject.Error>' (aka 'Signal<Float, NoError>') does not conform to expected type 'BindableProtocol'
所以信号不再可绑定。有人知道如何转换这段代码以使双向绑定仍然有效吗?