RxSwift 入门

2018-10-08 16:22 by l4y, 阅读, 评论, 收藏, 编辑

ReactiveX 是一个库,用于通过使用可观察序列来编写异步的、基于事件的程序。

它扩展了观察者模式以支持数据、事件序列,并添加了允许你以声明方式组合序列的操作符,同时抽象对低层线程、同步、线程安全等。

本文主要作为 RxSwift 的入门文章,对 RxSwift 中的一些基础内容、常用实践,做些介绍。

Observables aka Sequences

Basics

观察者模式(Observable(Element>)和正常序列(Sequence)的等价性对于理解 Rx 是相当重要的。

每个 Observable 序列知识一个序列。Observable 与 Swift 的 Sequence 相比,其主要优点是可以异步接收元素。这是 RxSwift 的核心。

  • Observable(Observable) 与 Sequence 等价
  • Observable.subscribe 方法与 Sequence.makeIterator方法等价
  • Observer(callback)需要被传递到 Observable.subscribe 方法来接受序列元素,而不是在返回的 iterator 上调用 next() 方法

Sequence 是一个简单、熟悉的概念,很容易可视化。

人是具有巨大视觉皮层的生物。当我们可以轻松地想想一个概念时,理解它就容易多了。

我们可以通过尝试模拟每个Rx操作符内的事件状态机到序列上的高级别操作来接触认知负担。

如果我们不使用 Rx 而是使用模型异步系统(model asynchronous systems),这可能意味着我们的代码会充满状态机和瞬态,这些正式我们需要模拟的,而不是抽象。

ListSequence 可能是数学家和程序员首先学习的概念之一。

这是一个数字的序列:

--1--2--3--4--5--6--|   // 正常结束

版权声明:本文为xjshi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xjshi/p/9755095.html