RxSwift核心逻辑-01

RxSwift 的核心内容:

流程图

1. 创建序列 Observerable

        //1.创建序列
       //保存闭包
        let ob = Observable<Int>.create { (observer) -> Disposable in
            return Disposables.create()
        }

create 创建AnonymousObservable类,保存创建序列时的闭包代码块,源码如下:


Create.swift

保存闭包

2.订阅信号

        //2.订阅信号
       ob.subscribe(onNext: { (value) in
            print("订阅到:\(value)")
        }).disposed(by: disposebag)

创建订阅者AnonymousObserver,初始化时保存订阅的闭包
创建AnonymousObservableSink-->sink.run -->AnonymousObservable._subscribeHandler 执行create时的闭包代码,即发送信号

3.发送信号

   let ob = Observable<Int>.create { (observer) -> Disposable in
            //3.发送信号
            observer.onNext(5)
            observer.onCompleted()
//            observer.onError(NSError(domain: "err", code: 1001, userInfo: nil))
            return Disposables.create()
        }

AnonymousObserver.onNext --> ObserverBase.on --> AnonymousObserver.onCore -->执行订阅序列

流程图.png

未完待续。。。。。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 RxSwift入坑解读-你所需要知道的各种概念 沸沸腾关注 2016.11.27 19:11*字...
    枫叶1234阅读 7,826评论 0 2
  • 最近在学习RxSwift相关的内容,在这里记录一些基本的知识点,以便今后查阅。 Observable 在RxSwi...
    L_Zephyr阅读 5,752评论 1 4
  • 本文章内部分图片资源来自RayWenderlich.com 本文结合自己的理解来总结介绍一下RxSwift最基本的...
    FKSky阅读 7,970评论 4 14
  • 透视RxSwift核心逻辑 篇幅稍微有点长,了解程度不同,可以跳过某些部分。如果对源码比较熟悉的,建议直接看图就行...
    silasjs阅读 5,174评论 2 21
  • RxSwift 真的是一个非常值得学习的东西。非常遗憾的是我没有研究所有的架构模式(MVVM VIPER Rout...
    CepheusSun阅读 4,164评论 3 6

友情链接更多精彩内容