RxSwift 简介
ReactiveX(简写: Rx) 是一个能够帮助咱们简化异步编程的框架。html
它拓展了观察者模式。使你可以自由组合多个异步事件,而不须要去关心线程,同步,线程安全,并发数据以及I/O阻塞。react
RxSwift 是 Rx 的 Swift 版本。git
它尝试将原有的一些概念移植到 iOS/macOS 平台。github
你能够在这里找到跨平台文档 ReactiveX.io。编程
RxSwift 参考资料
RxSwift 项目实战
动画演示

源码下载
RxSwift实现MVVM高仿喜马拉雅的函数响应式编程数组
注意事项 安全
- 1.源码下载后,执行 pod update --no-repo-update 更新第三方库;
- 2.项目运行中,若是数据获取失败,通常是连接失效,须要本身从新去抓取相关的连接;
- 3.项目仅供学习参考用,若有问题,欢迎指正;
- 4.项目所使用的图片资源均是从原 喜马拉雅 FM 中扣出来的,图片资源巨多,只保留了 @2 倍的图片,依然还有两千多张,全部致使项目源码的体积很大。
项目计划
目前只是花了些零散的时间作了些基础的功能,项目中事件响应机制和逻辑部分基本是采用 RxSwift 方式来进行的,UI 组件的建立方式基本采用协议方式建立和添加,这种模式值得你们在合适的场合借鉴和采用。session
当前已完成如下部分:架构
- 1.【首页-推荐】模块,其余模块可类比;该模块从数据抓取,数组处理和数据显示,均采用 MVVM 模式开发,对于学习 RxSwift 进行 MVVM 开发比较有借鉴做用;
- 2.【登陆】模块,比较形象的展示了 函数响应式编程 在进行状态转化方面的优点
- 3.【个人】模块,简易版 MVVM 模式开发,实现了比较典型的导航栏渐变和顶部图片下拉缩放的效果,如:QQ 空间,喜马拉雅 FM 个人页面的效果;
将来计划从如下两个方面着手:并发
- 1.架构方面:目前重在学习 RxSwift 函数响应式编程,将来计划对项目架构进行进一步调整,构建成 RxSwift + ReactorKit 的信息流架构;
- 2.功能方面:后期将加入音视频播放的功能。
效果截图


项目结构

