美文网首页
RxSwift笔记(4) - 观察者

RxSwift笔记(4) - 观察者

作者: 左腿丶 | 来源:发表于2021-01-11 12:08 被阅读0次

观察者是用来监听事件,然后它需要这个事件做出响应。例如:弹出提示框就是观察者,它对点击按钮这个事件做出响应。
创建观察者最直接的方法就是在 Observable 的 subscribe 方法后面描述,事件发生时,需要如何做出响应。而观察者就是由后面的 onNext,onError,onCompleted的这些闭包构建出来的。

一、AnyObserver

AnyObserver 可以用来描叙任意一种观察者。
在核心逻辑中就出现过AnyObserver
在Sink.run()中会创建一个AnyObserver


image.png

即使在subscribe()中传递一个AnyObserver,还是会在AnonymousObservableSink.run()中创建一个AnyObserver,去作为闭包A中的参数。




二、Binder

和Observable一样,观察者也存在特征观察者,例如Binder。
Binder主要有两个特征
1、不会处理错误时间,
2、确保绑定都是在给定线程上执行,默认主线程


Binder的初始化方法

由核心逻辑我们知道闭包A之后会调用观察者的on()方法


Binder的on()方法
然后self._binding回调,去看self._bingding的实现,targer和元素作为参数回调给Binder初始化的闭包函数binding。
event为error时的处理

相关文章

  • RxSwift笔记(4) - 观察者

    观察者是用来监听事件,然后它需要这个事件做出响应。例如:弹出提示框就是观察者,它对点击按钮这个事件做出响应。创建观...

  • RxSwift 个人学习笔记记录

    文章目录 一 什么是RxSwift 二 RxSwift做了什么2-1简单介绍观察者设计模式2-1RxSwift做了...

  • RxSwift源码分析(一)序列核心逻辑

    RxSwift核心概念就是观察者(observer)订阅一个可观察者序列(Observable),观察者对数据序列...

  • RxSwift(V) - 源码解析

    RxSwift 角色定位 观察者(Observer) 被观察者(可观察的)(Observable) 订阅者(Sub...

  • RxSwift学习

    参考 RxSwift中文文档 RxSwift-Tutorial RxSwift笔记 - RxCocoa 基础 (一...

  • RxSwift 核心原理解析

    RxSwift 核心原理解析 角色定位 观察者(Observer) 被观察者(Observable) 订阅者(Su...

  • RxSwift by Examples #4 – Multith

    RxSwift by Examples 分成 4 部分。以下是 PART 4 的学习笔记和翻译整理。原文在这里。 ...

  • RXSwift笔记

    观察者模式:KVO、通知 被观察者:发出一个事件 观察者/订阅者:对被观察者对象进行响应 RXSwift:把程序中...

  • RXswift 创建观察者的几种方式

    RXswift 创建观察者的几种方式: 所谓观察者,就是对事件的处理者。有以下几种方式 在 subscribe 方...

  • RxSwift-dispose源码解析

    RxSwift是由序列,观察者,调度者,销毁者组成。可见,销毁者在RxSwift的重要性。了解销毁者,才能更好的了...

网友评论

      本文标题:RxSwift笔记(4) - 观察者

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