RxSwit —使用“发布主题”传递数据

有很多人描述了响应式编程的不同定义。 但是根据我的研究和分析,我为此找到了捷径。

“ RxSwift是异步编程的新范例。,

我在RxSwift上工作了一年,所以对它的好处有所了解。 我能够隐约地回答这些问题。 我虽然不简洁。

第一件事是在ViewController.swift文件中使用默认文本和DisposeBag变量创建UILabel的Outlet。 DisposeBag是RxSwift的内存管理机制。

现在,我们编写用于订阅的代码,该代码观察EditViewController文本和颜色的PublishSubject的值。 PublishSubject是主题的一种。 我们可以说PublishSubject既是Observer也是输入。

但是根据不同的主题属性,PublishSubject会忽略订阅之前发出的所有元素。

我们在ViewController中有一个名为Let’s Edit的Button,可将其重定向到EditViewController以选择文本和颜色。 下面是按钮的代码。

订阅观察者:

在上面的代码中,当单击红色,绿色或蓝色按钮时,我们观察到EditViewController发出的文本和颜色主题。 这可以使用subscription(onNext,onError,onCompleted)方法完成。 订阅方法将通过处置(by 🙂方法处置

onNext()将在下面的代码中发出该值,该值将由ViewController简单地订阅。

声明发布主题:

在这里,我们创建一个文本字段出口。 同时声明文本和颜色观察者。
文本观察器是String类型,它传递文本字段的值,颜色观察器传递颜色对象,方法是单击颜色按钮(红色,蓝色和绿色)。

通过观察者发射元素:

当用户在文本字段上输入一些文本并触摸下面的颜色按钮之一时,即会发生

  1. textObserver发出文本值。
  2. 根据颜色按钮标签,它将使用colorObserver传递颜色值
  3. 最后,它将弹出到ViewController,因此可以显示更改。

演示程序的输出如下。 您可以检查它的简单程度,也可以尝试使用代码。

享受代码…