加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 创业 > 经验 > 正文

RxSwift学习教程之基础篇

发布时间:2020-12-25 23:49:48 所属栏目:经验 来源:网络整理
导读:前言 我们在 iOS 开发过程中,几乎无时无刻都要面对异步事件的处理。例如,按键点击、数据保存、、音频后台播放、交互动画展示。这些事件并不具备特定时序性,甚至它们可能同时发生。 虽然 Apple 提供了通知、代理、GCD、闭包等异步机制,但是这些机制缺乏一

例如,我们可以使用串型序列 SerialDispatchQueueScheduler 来处理 next 事件,通过 ConcurrentDispatchQueueScheduler 运行并行文件下载任务,通过 OperationQueueScheduler 运行一个 NSOperationQueue 操作队列。甚至你可以在同一个观察对象的不同任务中使用不同的 Schedulers 类型,如下图:

RxSwift学习教程之基础篇

我们将左侧的任务用不同的颜色加以区分,然后在右侧任务被拆分为不同的步骤并且放在不同 Schedulers 中。例如,network subscription 任务就被拆分为三个步骤并依次放入了 Custom NSOperation Scheduler 、Background Concurrent Scheduler、Main Thred Serial Scheduler 。

补充

值得注意的是, RxSwift 并没有对客户端的应用架构作出硬性规定。这意味着,我们可以在已有项目中引入 RxSwift 进行响应式编程实践。当然已有框架中必定存在一个最适合 RxSwift 的,而它就是 MVVM。因为在 MVVM 中我们可以将 VM 中的部分属性直接与 UI 进行绑定。

RxSwift学习教程之基础篇

另外,对于 iOS 编程来说仅仅有 RxSwift 是远远不够的。RxSwift 只是 Swift 语言的响应式实现,我们还需要一种 Cocoa 层面的实现。好在这里存在 RxCocoa 作为 UIKit 的响应式补充。前面设备方向代码 UIDevice.rx.orientation 就是 RxCocoa 的应用 。

总结

作为系列开篇,本文介绍了 RxSwift 的一些基本理念和构成,更多相关的内容将会在后面带来。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读