rxswift

RxSwift 源码解析03:Observable 核心逻辑

2022-08-30  本文已影响0人  Style_月月

本文主要分析 Observable 核心逻辑

Observable 三部曲

//1、创建序列
let ob = Observable<Any>.create { observer **in**
    //3、发送信号
    observer.onNext("发送信号")
    //error 和 complete 二选一
    //observer.onError(NSError.init(domain: "myError", code: 10010, userInfo: nil))
    observer.onCompleted()
    return Disposables.create()
}

//2、订阅信号
ob.subscribe { text **in**
    print("订阅到了: \(text)")
} onError: { error **in**
    print("error \(error)")
} onCompleted: {
    print("完成")
} onDisposed: {
    print("销毁")
}

.disposed(by: disposeBag)

//--------打印---------
订阅到了: 发送信号
完成
销毁

RxSwift的响应式核心逻辑类似于iOS中的UI事件响应

这里需要重点关注的是

下面我们带着这些问题来一一探索

RxSwift 核心逻辑分析

主要分三步进行分析

创建序列 create()

****create() 创建序列总结**

订阅序列 subscribe()

**subscribe() 订阅信号(订阅序列)总结

发送信号 onNext()

发送信号 onNext()

总结

创建 - 订阅 - 发送信号整体流程图

整体流程图.png

其核心逻辑思维导图

核心逻辑.png

继承链

上一篇 下一篇

猜你喜欢

热点阅读