【发布时间】:2016-05-11 23:15:30
【问题描述】:
我已经编写了代码的响应式命令版本:
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 中有三个 MutableProperties:Bool 类型的比例布尔、高度字符串和字符串类型的宽度字符串。
我的 ViewController 中也有一个对应的 UISwitch 和两个 UITextField。
我想学习的是有以下场景: 1. 如果 bool/switch 为 false,那么 heightString 应该保持不变 2.如果bool为真,那么heightString应该是一个值:widthString * multiplier
我知道我写的代码很糟糕。我想我应该使用 combineLatest 但我不知道如何将两个信号:UITextField 和 UISwitch 合并为一个产生信号。
谁能给我任何提示或简单的代码示例?
let boolSignal = proportionalSwitch.rac_newOnChannel()
let widthSignal = widthTextField.rac_textSignal()
let heightSignal = heightTextField.rac_textSignal()
...?
【问题讨论】:
标签: ios swift merge reactive-cocoa reactive-cocoa-4