关于rx系列,想必不用再过多的解释.
简单来说就是基于异步 Event(事件)序列的响应式编程.
理解RxSwift,首先要了解几个概念.
1.Observable<T> 可观察序列
它的作用就是可以异步地产生一系列的 Event(事件)-事件流,即一个 Observable<T> 对象会随着时间推移不定期地发出 event(element : T) 这样一个东西。
而且这些 Event 还可以携带数据,它的泛型 <T> 就是用来指定这个Event携带的数据的类型。
有了可观察序列,我们还需要有一个Observer(订阅者)来订阅它,这样这个订阅者才能收到 Observable<T> 不时发出的 Event。
2.Observer 订阅者
观察者(Observer)的作用就是监听事件,然后对这个事件做出响应。或者说任何响应事件的行为都是观察者。
3. Event 事件
我们可以发现,Event其实就是一个枚举类型,包含三种类型:
-
next:生成下一个元素
next事件就是那个可以携带数据 <T> 的事件,可以说它就是一个“最正常”的事件。 -
error:序列因错误而终止。
error 事件表示一个错误,它可以携带具体的错误内容,一旦 Observable 发出了 error event,则这个 Observable 就等于终止了,以后它再也不会发出 event 事件了。 -
completed:序列成功完成。
completed 事件表示Observable 发出的事件正常地结束了,跟 error 一样,一旦 Observable 发出了 completed event,则这个 Observable 就等于终止了,以后它再也不会发出 event 事件了。
/// Represents a sequence event.
///
/// Sequence grammar:
/// **next\* (error | completed)**
public enum Event<Element> {
/// Next element is produced.
case next(Element)
/// Sequence terminated with an error.
case error(Error)
/// Sequence completed successfully.
case completed
}
示例图.png
网友评论