RxSwift:简要介绍(第1部分)

在开始之前,我只想让您知道这是我有史以来的第一篇博客文章,因此请对批评保持温和……开个玩笑,只要有观点,我感谢任何积极或消极的反馈。

无论如何,今天,我们将介绍和使用RxSwift。 就像标题中所说的那样,这将是一个简短的介绍,我将向您介绍RxSwift的最基本的功能,并且还将提供一些示例。 将来,我将尝试编写将使用RxSwift的完整应用程序教程。

事不宜迟,让我们开始吧!


RxSwift是一个库,用于通过使用可观察的序列和功能样式运算符来组合基于异步和事件的代码,从而允许通过调度程序进行参数化执行。

听起来复杂吗? 不用担心。 尽管它看起来令人生畏,但实际上并非如此,我将以更简洁,结构化的方式进行解释。

上述解释的简化为:

RxSwift通过允许您对数据更改做出反应并将其作为流(序列)进行处理,从本质上简化了异步代码的编写。

流和序列将在本文中互换使用。 他们是一样的东西!

如果您仍然不完全了解这意味着什么,则不必担心,这很快就会变得更加清楚。

首先,让我们回顾一下Rx代码的三个构建基块:

  1. 可观察的
  2. 经营者
  3. 调度程序->将在第2部分中介绍

Observable 类提供了Rx代码的基础:异步生成一系列事件的能力,这些事件序列可以“承载”数据T的不变快照。简单来说,它允许类订阅另一个类发出的值随着时间的推移。

那么,这到底是什么意思呢?

可观察对象只是一些T类型数据的流或序列。它允许一个或多个观察者(订户)实时响应某些事件,并在事件发生后执行某些操作,例如更新UI。

Observable 符合的ObservableType协议是一个简单协议。 简单来说,我的意思是一个Observable可以发出,并且观察者只能接收三种事件类型:

  1. 下一个事件:这是包含最新(或下一个)数据值的事件。 这就是观察者接收值的方式。
  2. 错误事件:一旦遇到错误事件,可观察对象将终止并停止发射。
  3. 完成事件:当可观察对象收到完成事件时,表示序列已成功完成。 然后终止并停止发射。

可视化的最佳方法是使用大理石图。

大理石图是一种可视化表示反应性(异步)数据流的方式。

这是大理石图的图例:

  1. 水平线表示发出事件的时间线
  2. 圆圈:代表下一个事件。
  3. X letter 代表错误事件。

  4. 符号表示已完成的事件。

这有点理论,让我们在代码中看一下:

为了创建我们的自定义Observable,我们使用其create(subscribe:(AnyObserver )-> Disposable)-> Disposable)方法。

ew……好吧,今天足够了……这只是冰山一角。 我将在第2部分中讨论主题和计划程序

我真的希望我能向你们中的一些人介绍。 请提供任何正面或负面的反馈意见,以便我知道如何改进以后的帖子。

对于那些对此主题比较了解的人(无双关语),如果您能分享这些知识,以便从我自己的帖子:D中学到新知识,我将不胜感激。

以下是一些有用的链接,可以扩展您对RxSwift的了解:

  1. https://github.com/ReactiveX/RxSwift
  2. https://medium.com/ios-os-x-development/learn-and-master-%EF%B8%8F-the-basics-of-rxswift-in-10-minutes-818ea6e0a05b
  3. https://www.raywenderlich.com/900-getting-started-with-rxswift-and-rxcocoa

我也推荐这本书:

  • https://store.raywenderlich.com/products/rxswift-reactive-programming-with-swift

谢谢大家阅读本文! 对此,我真的非常感激。
祝你今天愉快!