2016-03-22 13 views
1

Reactive Cocoa 4.0とMVVM(swift 2.0)を使用しているプロジェクトで作業しています。ビューモデルでは、テキストフィールドの変更に従って更新する文字列がありますが、文字列が変更された場合、そのテキストフィールドを更新します。テキストフィールドと文字列(ageString)の間の双方向バインディングが可能です。 RAC 2.xのは、あなたがこの機能を提供しRACChannel Sを、使用することができます前にReactiveCocoa 4.0とMVVMを使用した双方向バインディングを実現する方法

txtAge.rac_textSignal() ~> RAC(objViewModel, "ageString") 

答えて

0

(新しい値が到着したときには、各チャンネル端子を購読することができ、通知されます)。 チャネルと端末はRAC 2.xに移植されていないため、今日ではRACでは双方向のバインディングはありませんが、いつも別のものを見つけることができるので大したことではありません。アプローチ。

のようなあなたはgithubの上のフレームワークの問題で、このトピックについての多くのスレッドを見つけることができます詳細については、

:あなたは以下のコードを試すことができます

4

viewModel.ageString.producer 
     .skipRepeats { [weak self] in 
       $1 == self?.txtAge.text 
     }.startWithNext { [weak self] in 
       self?.txtAge.text = $0 
} 

viewModel.ageString <~ txtAge.rac_textSignal() 
     .toSignalProducer() 
     .map { ($0 as? String) ?? "" } 
     .flatMapError { _ in SignalProducer<String, NoError>.empty } 
+0

これは動作していますが、ループが発生していますか? –

関連する問題