美文网首页
19.响应式编程

19.响应式编程

作者: 迷心迷 | 来源:发表于2020-05-22 18:16 被阅读0次

响应式编程

  • 响应式编程(Reactive Programming,简称RP)
    也是一种编程范式,于1997年提出,可以简化异步编程,提供更优雅的数据绑定
    一般与函数式融合在一起,所以也会叫做:函数响应式编程(Functional Reactive Programming,简称FRP)

  • 比较著名的、成熟的响应式框架
    1、ReactiveCocoa
    简称RAC,有Objective-C、Swift版本
    官网: http://reactivecocoa.io/
    github:https://github.com/ReactiveCocoa
    2、ReactiveX
    简称Rx,有众多编程语言的版本,比如RxJava、RxKotlin、RxJS、RxCpp、RxPHP、RxGo、RxSwift等等 ü 官网: http://reactivex.io/
    github: https://github.com/ReactiveX

RxSwift

1 Podfile
use_frameworks!
target 'target_name' do
pod 'RxSwift', '~> 5'
pod 'RxCocoa', '~> 5'
end

2 命令行
pod repo update
ppod install

3 导入模块
import RxSwift
import RxCocoa

  • 模块说明
    RxSwift:Rx标准API的Swift实现,不包括任何iOS相关的内容
    RxCocoa:基于RxSwift,给iOS UI控件扩展了很多Rx特性
let observable = Observable<Int>.timer(.seconds(2), period: .seconds(1), scheduler: MainScheduler.instance)
        
        let _ = observable
            .takeUntil(self.rx.deallocated)
            .map { "数值是:\($0)" }
            .bind(to: label.rx.text)
        
        observable.subscribe(onNext: { element in
            print("next", element)
        }, onError: { error in
            print("error", error)
        }, onCompleted: {
            print("completed")
        }).disposed(by: bag)
        
        observable.subscribe { event in
            switch event {
            case .next(let element):
                print("next", element)
            case .error(let error):
                print("error", error)
            case .completed:
                print("completed")
            }
        }.disposed(by: bag)

相关文章

网友评论

      本文标题:19.响应式编程

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