美文网首页
当Reswift遇上RxSwift

当Reswift遇上RxSwift

作者: Z_JaDe | 来源:发表于2018-11-10 18:39 被阅读36次

ReSwift是JavaScript中Redux的swift版本,看到它的时候,我就想到了,我以前项目中无处安放的个人资料信息,全局设置状态信息的最好去处。

根据Redux的概念,项目中有一个唯一的Store,通过调度Action,更新state,通过监听state来处理事情。这种机制在一下小型的项目中或许可以用的很爽,但是在一些稍微中型或者大型的项目中,用Redux就显得不足。

比如,我一个界面只能监听一种state,如果想要监听两种state就需要监听两种state的共同持有者。这样的事情做得做了,界面多了 刷新频率可想而知。

而且一个界面想要监听State,如果在ViewDidLoad里面监听,那界面本身会被State里面的属性持有,如果在界面将要显示的时候监听,界面将要出现的时候取消监听,每次界面显示的时候都会因为监听,刷新一遍newState方法。

不过这些顾虑当我想到RxSwift时,就都没了顾虑。完全可以把监听state这个动作封装成信号,然后由DisposeBag管理生命周期。代码不多 只有几十行

Store+Rx.swift

这样转换思路后,就可以实现对整个state中,任意一个或者多个state进行监听处理。

例子

当然,介于ReSwift的全局性,还是不太建议把界面相关状态的控制放进去,一些全局的状态,还是可以放的。

响应式编程用的越多,越能感觉出他的魅力。

当网络请求遇上它,我可以随意对网络请求进行超时,重新请求,错误处理,插入请求各种操作。

当Event,遇上它,我可以对点击事件进行防多点处理,值变化处理,出错时震动等等操作。

类似的还有手势,数据库,列表刷新等等,很多东西一旦用信号的方式来思考,处理起来就是这么得心应手。

相关文章

  • 当Reswift遇上RxSwift

    ReSwift是JavaScript中Redux的swift版本,看到它的时候,我就想到了,我以前项目中无处安放的...

  • 01.RxSwift-初识

    作为一个iOS开发人员, 当Swift遇上了RxSwift --> 函数响应式编程,在没有认识RxSwift之前,...

  • (待更)ReSwift 和 RxSwift

    开源项目ReSwift:它是一款帮助开发者针对数据流的变化进行编程的框架。由Swift-Flow和另一个类似的框架...

  • Swift 特性 - 收藏集 - 掘金

    ReSwift 介绍 - iOS - 掘金 什么是 ReSwift ReSwift 是基于 Redux 思想实现的...

  • ReSwift

    ReSwift的使用 ReSwift是单向数据流 Redux(数据流动图) Store Store是保存App S...

  • Alamofire(I)(US)

    Alamofire 终端搜索: Alamofire 的版本和信息 参考资料:Moya遇上RxSwift us

  • 你我之间最美的遇见

    当青椒遇上互加,当课程遇上学校,当学生遇上平板,所有的美好便从这一刻开始了… 当,当,当,当…开学...

  • 理解 RxSwift:实现原理(二)

    理解 RxSwift:为什么要使用 RxSwift(一) 理解 RxSwift:实现原理(二) RxSwift 内...

  • Swift - RxSwift入门介绍

    RxSwift介绍 RxSwift主页RxSwift中文文档 RxSwift 是 ReactiveX 家族的重要一...

  • 理解 RxSwift:为什么要使用 RxSwift(一)

    理解 RxSwift:为什么要使用 RxSwift(一) 理解 RxSwift:实现原理(二) RxSwift 是...

网友评论

      本文标题:当Reswift遇上RxSwift

      本文链接:https://www.haomeiwen.com/subject/hhftfqtx.html