美文网首页
RxSwift-初识

RxSwift-初识

作者: lmfei | 来源:发表于2020-01-03 18:49 被阅读0次

RxSwift简介

  • ReactiveX(简写:Rx 全写:Reactive Extension)是一个可以帮助我们简化异步编程的框架
  • RxSwift是Rx系中的Swift版本
  • RxSwift是函数响应式(FRP)框架,与Swift语法特性相结合,简直不要太NB!
    函数式:形如数学中的y=f(x),其中f为函数,自变量x又可以为一个函数表达式f(x),即y=f(f(x))
    响应式:举个例子,就是哥哥上二年纪,弟弟一年级,等哥哥三年纪的时候,弟弟也会变成二年级,哥哥的变化也会伴随着弟弟的变化,大概就是这个意思吧

RxSwift API初体验

Button的使用
func learButton() {
    button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
    
    button.rx.tap
        .subscribe(onNext: { [weak self] in
            print("点击了button")
            self?.button.backgroundColor = UIColor.blue
        })
        .disposed(by: disposeBag)
}
TestField的使用
func learTextField() {
    textField.rx.text.orEmpty.changed.subscribe(onNext: { (text) in
        print(text)
    }).disposed(by: disposeBag)
    
    textField.rx.text.bind(to: button.rx.title()).disposed(by: disposeBag)
}
ScrollView的使用
func learnScroll() {
    scrollView.rx.contentOffset
        .subscribe(onNext: { (point) in
            print(point)
        })
        .disposed(by: disposeBag)
}
KVO的使用
func learKVO() {
    self.personal.rx.observeWeakly(String.self, "name")
        .subscribe(onNext: { (value) in
            print(value!)
        })
        .disposed(by: disposeBag)
}
Notification的使用
func learNotification() {
    NotificationCenter.default.rx.notification(UIResponder.keyboardWillShowNotification)
        .subscribe(onNext: { (event) in
            print(event)
        })
        .disposed(by: disposeBag)
}
GestureRecognizer的使用
func learGestureRecognizer() {
    let tap = UITapGestureRecognizer()
    lab.isUserInteractionEnabled = true
    lab.addGestureRecognizer(tap)
    tap.rx.event.subscribe {
        (event) in
        print("点了lab")
        }.disposed(by: disposeBag)
}

Timer的使用
func learTimer() {
    let timer:Observable<Int> = Observable<Int>.interval(1, scheduler: MainScheduler.instance)
    timer.subscribe(onNext: { (num) in
        print(num)
    }).disposed(by: disposeBag)
}

还有什么是一句代码解决不了的事,如果有,那就再加一行!!!

生活如此美好,今天就点到为止。。。

相关文章

  • RxSwift-初识

    RxSwift简介 ReactiveX(简写:Rx 全写:Reactive Extension)是一个可以帮助我们...

  • RxSwift-初探

    RxSwift-初探RxSwift核心逻辑-源码分析RxSwift-Observable序列的创建方式RxSwif...

  • RxSwift-文档翻译

    RxSwift-文档翻译 翻译全文地址翻译后的完整项目地址 对RxSwift 官方playground的翻译,pl...

  • RxSwift-初探

    RxSwift必须结合 RxCocoa一起使用 一、导入头文件 import RxSwiftimport RxCo...

  • RxSwift-初探

    就问此时此刻还有谁?45度仰望天空,该死!我这无处安放的魅力!RxSwift-初探RxSwift核心逻辑-源码分析...

  • RxSwift-网络

    测试 response 测试 data 测试 json

  • RxSwift-初探

    函数响应式编程 一:函数式 函数式编程简称FP(Functional Programming),函数式编程就是一种...

  • RxSwift-高阶函数(上)

    就问此时此刻还有谁?45度仰望天空,该死!我这无处安放的魅力!RxSwift-初探RxSwift核心逻辑-源码分析...

  • RxSwift-高阶函数(下)

    就问此时此刻还有谁?45度仰望天空,该死!我这无处安放的魅力!RxSwift-初探RxSwift核心逻辑-源码分析...

  • RxSwift-搞事情(二)

    RxSwift-搞事情(一)上次说到RxSwift的核心逻辑,发现有些东西并没想象中简单,这次再来补充一哈。搞事情...

网友评论

      本文标题:RxSwift-初识

      本文链接:https://www.haomeiwen.com/subject/vrhtactx.html