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类型,它传递文本字段的值,颜色观察器传递颜色对象,方法是单击颜色按钮(红色,蓝色和绿色)。
通过观察者发射元素:
当用户在文本字段上输入一些文本并触摸下面的颜色按钮之一时,即会发生
- textObserver发出文本值。
- 根据颜色按钮标签,它将使用colorObserver传递颜色值
- 最后,它将弹出到ViewController,因此可以显示更改。
演示程序的输出如下。 您可以检查它的简单程度,也可以尝试使用代码。
享受代码…