RXSwift3.0从入门到放弃(一)

RXSwift从UITextField入手走上一条RX不归路

RXSwift3.0从入门到放弃(一)_第1张图片
7AA447D3-3EAD-4DB9-BC89-A6F4DB081A9B.png

RXSwift项目地址:https://github.com/ReactiveX/RxSwift

来一波广告先

自定义返回 自定义item JS交互 NAV去分割线的 Swift3.0WKWebView:https://github.com/XFIOSXiaoFeng/SwiftWkWebView

言归正传
用.storyboard拖一个UITextField先(这玩意儿就自己动手了哈)

@IBOutlet weak var rx_test: UITextField!

导入头文件

import RxCocoa
import RxSwift

先准备一个质量较好的安全套

private let disposeBag = DisposeBag()

题外话(经常这样点不出来提示,鬼火冒)

rx_test.rx.text.

先来发简单的,然后就有了这样

let text = rx_test.rx.text
text.orEmpty.subscribe { (e) in
    print(e)
}

别说话,用模拟器去感受吧

next()
next(1)
next(12)
next(123)
next(1234)
next(12345)
next(123456)

感觉有那么丢丢意思了,不过老大的黄斑很是不爽,来吧,我的disposeBag,开始搞事情了

let text = rx_test.rx.text
text.orEmpty.subscribe { (e) in
    print(e)
}.disposed(by: disposeBag)

别蒙了,来波完整的

import UIKit
import RxCocoa
import RxSwift

class ViewController: UIViewController {
    
    @IBOutlet weak var rx_test: UITextField!
    private let disposeBag = DisposeBag()

    override func viewDidLoad() {
        super.viewDidLoad()
        
        let text = rx_test.rx.text
        text.orEmpty.subscribe { (e) in
            print(e)
        }.disposed(by: disposeBag)
    }
}

烦人的不提示强迫症的还是let text干掉直接驶入进菊花(这下舒服多了)

rx_test.rx.text.orEmpty.subscribe { (e) in
    print(e)
}.disposed(by: disposeBag)

再来整个容

rx_test.rx.text.orEmpty.subscribe {
    print($0)
    }.disposed(by: disposeBag)

看到这个“$0”玩意儿就傻眼了?swift高阶函数你值得拥有

go on 高潮来了

路标示意 默认你还没有上老司机的车

orEmpty

就不做过多解释了哈

subscribe

当你在看到某人的某种反映后,你可以有几种反应:
根据对方的行为,做相应的事,比如对方让你和她/他滚床单。( subscribe )
把对方说的行为,加工下再传达给其他人,比如对方说二毛好像不太舒服,你传达给其他人时就变成了二毛不行了。( map: )
参考其他人的行为再做处理,比如 A 说某老板娘下面很好吃,B 说某老板娘下面一般般,你需要结合两个人的意见再做定夺。( zip: )

disposeBag

他其实相当于ARC的自动释放的东东,带上这个安全套之后就可以放心大胆的搞些事情了

你可能感兴趣的:(RXSwift3.0从入门到放弃(一))