本文介绍了RxSwift:双向绑定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在onNext方法中所有ok和变量更改了它的值,但我的 object.property 没有改变。 有没有办法将变量当前值设置为ControlProperty在< - >方法中,bcs我需要在订阅开始之前设置初始值吗?
In onNext method all ok and variable changed its value, but my object.property doesn't changed.
Is there any way to set variable current value into ControlProperty inside of <-> method, bcs I need set initial value, before subscribe starts?
我使用了官方双向绑定解决方案
func <-> <T>(property: ControlProperty<T>, variable: Variable<T>) -> Disposable{ let bindToUIDisposable = variable.asObservable() .bindTo(property) let bindToVariable = property .subscribe(onNext: { n in variable.value = n }, onCompleted: { bindToUIDisposable.dispose() }) return Disposables.create(bindToUIDisposable, bindToVariable) }用法:(textField.rx.text< - > object.property).addDisposableTo(disposeBag)
属性定义: var property = Variable< String?>(没有)
推荐答案
<我的错。我在绑定后用另一个实例替换了对象
My fault. I replaced object with another instance after binding
此代码运行良好,控制属性从变量接收初始值
This code works well and control property receive initial value from variable
更多推荐
RxSwift:双向绑定
发布评论