ReactiveSwift & ReactiveCocoaios-第三方框架/SDK

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



swift4.0.gif

<2>代码参照大神 : 深渊漫步者亚尔特留斯

<3>代码地址

上一篇 下一篇

猜你喜欢

热点阅读