2017-04-10 4 views
1

使用されるバインディングofficial two-way-binding solutionRxSwift:二つの方法は、私が

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?>(nil)すべてOKとvariableはその値を変更しましたが、私のobject.property doesnのonNext方法で

  1. 変更されていません。
  2. < - >メソッド内のControlPropertyに変数の現在値を設定する方法はありますか?bcsサブスクリプションを開始する前に、初期値を設定する必要がありますか?

答えて

1

私のせいです。バインド後にオブジェクトを別のインスタンスに置き換えました

このコードは正常に動作し、コントロールプロパティは変数から初期値を受け取ります

関連する問題