ReactiveSwift 记录学习
2018-01-23 本文已影响14人
AT19
1.登录demo
<1>核心代码:
//信号
let namesignal = nameTextField.reactive.continuousTextValues
let pswsignal = passwordTextField.reactive.continuousTextValues
let colorSignal1 : Signal<Bool, NoError> = namesignal.map {
text in
return text!.count < 6 ? false : true
}
let colorSignal2 : Signal<Bool ,NoError> = pswsignal.map { text in
return text!.count < 6 ? false : true
}
//合并信号
let colorSignal: Signal<UIColor, NoError> = Signal.combineLatest(colorSignal1, colorSignal2).map{
return $0 && $1 ? .red : .lightGray
}
let validSignal = Signal.combineLatest(colorSignal1, colorSignal2).map{
$0 && $1
}
//Property(首先接收一个初始的值)
let tfColor = Property(initial: .lightGray, then: colorSignal)
let loginEnable = Property(initial: false, then: validSignal)
//属性绑定
loginBtn.reactive.isEnabled <~ loginEnable
loginBtn.reactive.backgroundColor <~ tfColor
![](https://img.haomeiwen.com/i1874585/ef00f0a51a316ae6.gif)
<3>代码地址