1
我試圖在我的一個項目中切換到Swift Bond 5和Swift 3。 我有兩個方向綁定的問題。我怎樣才能轉換下面的代碼,所以當我的滑塊改變時,它會逐步發出不同的信號,並將其值設置爲半徑可觀察值。在舊的Bond 4和Swift 2.3中,一切正常,但我不知道如何處理這種遷移。Swift Bond 5從4個雙向移植
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'
所以信號不是綁定的了。有人有任何想法如何轉換這段代碼,所以雙向綁定仍然會工作?
非常感謝您的寶貴意見。是的,這似乎並不合理。唯一認爲在這種情況下的問題是用從滑塊發出的信號更新'半徑'可觀察。其他方向根本不需要。我不知道爲什麼原創開發者做得對。不管怎麼說,還是要謝謝你! –