コードの反応命令型バージョンを作成しました。
widthTextField.rac_textSignal().subscribeNext { (val) in
let multiplier = 0.2
if var v = Double(val as! String){
if(self.viewModel.proportionalBool.value){
v *= multiplier
self.heightTextField.text = String(v)
}
}
}
私が ViewModel に持っているのは、3 つの MutableProperties です: Bool 型の比例ブール、String 型の heightString および widthString です。
ViewController には、対応する UISwitch と 2 つの UITextField もあります。
私が学びたいのは、次のシナリオを持つことです: 1. bool/switch が false の場合、heightString はそのままにする必要があります 2. bool が true の場合、heightString は次の値である必要があります: widthString * 乗数
私は悪い方法でコードを書いたことを知っています。CombineLatest を使用するべきだったと思いますが、UITextField と UISwitch の 2 つのシグナルを 1 つの生成シグナルにマージする方法がわかりません。
ヒントや簡単なコード例を教えてもらえますか?
let boolSignal = proportionalSwitch.rac_newOnChannel()
let widthSignal = widthTextField.rac_textSignal()
let heightSignal = heightTextField.rac_textSignal()
...?