Observable
在ReactiveX中,一个观察者(Observer)订阅一个可观察对象(Observable)。观察者对 Observable发射的数据或数据序列作出响应。这种模式可以极大地简化并发操作,因为它创建了一个处于待命状态的观察者哨兵,在未来某个时刻响应Observable的通知,不需要阻塞 等待Observable发射数据。
初始化playground
- 初始化项目工程,pod引入RxSwift
- 创建playground
- 在playground\Sources下创建 support.swift文件 填写下面代码
|
|
- 在playground中导入RxSwift,RxCocoa
never
创建一个不发射任何数据的Observable
|
|
empty
创建一个什么都不做直接通知完成的Observable.它只发送 .Completed 消息。
|
|
just:
将一个或多个对象转换成发射这个或这些对象的一个Observable,just 是只包含一个元素的序列,它会先发送 .Next(value) ,然后发送 .Completed 。
|
|
of
可以把一系列元素转换成事件序列
|
|
from
from 是通过 asObservable() 方法把 Swift 中的序列 (SequenceType) 转换成事件序列。例如:将一个数组转换成一个Observable
|
|
create
使用一个函数闭包从头创建一个Observable,通过 .on(e: Event) 添加事件。
|
|
range
创建一个发射特定整数序列的Observable
|
|
repeatElement
创建一个重复发射指定数据或数据序列的Observable,
|
|
generate
发射所有条件为真的值的响应序列
|
|
deferred
deferred 会等到有订阅者的时候再通过工厂方法创建 Observable 对象,每个订阅者订阅的对象都是内容相同而完全独立的序列。
|
|
error
创建一个什么都不做直接通知错误的Observable
|
|
doOn
doOn 可以监听事件,并且在事件发生之前调用。
|
|
- Demo地址https://github.com/RockyAo/RxSwift_learn.或者直接看官方的demo