初识RxSwift及使用教程 韩俊强的博客

标签: RxSwift 初识RxSwift RxSwift教程 Reactive Swift
2455人阅读 评论(1) 收藏 举报
分类:

这里写图片描述

什么是RxSwift?

  • RxSwift是Swift函数响应式编程的一个开源库,由Github的ReactiveX组织开发、维护

  • 其他语言像C#, Java 和 JS 也有,Rx.Net、RxJava、RxJS

  • RxSwift的目的是让让数据/事件流和异步任务能够更方便的序列化处理,能够使用Swift进行响应式编程

  • 函数式响应编程?

  • RxSwift做了什么?

观察者模式

  • 什么KVO,通知, 甚至代理都是观察者模式,在设计模式中他可是一个重中之重的设计模式
  • 比如一个宝宝在睡觉,爸爸妈妈,爷爷奶奶总不能在那边一只看着吧?那样子太累了。他们该做啥事就做啥事呗,只要听到宝宝的哭声,他们就给宝宝喂奶就行了。这就是一个典型的观察者模式。
  • 宝宝是被观察者,爸爸妈妈等是观察者也称作订阅者,只要被观察者发出了某些事件比如宝宝哭声、叫声都是一个事件,通知到订阅者,订阅者们就可以做相应的处理工作

  • 在我们iOS开发中, 很多的事件监听都是通过观察者设计模式的

RxSwift做了什么

  • RxSwift把我们程序中每一个操作都看成一个事件

  • 比如一个TextField中的文本改变,一个按钮被点击,或者一个网络请求结束等,每一个事件源就可以看成一个管道,也就是sequence

  • 比如TextField,当我们改变里面的文本的时候,这个TextField就会不断的发出事件,从他的这个sequence中不断的流出,我们只需要监听这个sequence,每流出一个事件就做相应的处理。

  • 同理,Button也是一个sequence,每点击一次就流出一个事件。

Button事件流

理解Observable&Observer

理解Observable&Observer

RxSwift的优点

  • Composable 可组合,在设计模式中有一种模式叫做组合模式,你可以方便的用不同的组合实现不同的类
  • Reusable 代码可重用,原因很简单,对应RxSwift,就是一堆Obserable
  • Declarative 响应式的,因为状态不可变,只有数据变化
  • Understandable and concise 简洁,容易理解。
  • Stable 稳定,因为RxSwift写出的代码,单元测试时分方便
  • Less stateful “无”状态性,因为对于响应式编程,你的应用程序就是一堆数据流
  • Without leaks 没有泄漏,因为资源管理非常简单

使用心得

  • 时刻牢记,使用RxSwift,尽量把所有的任务(可以理解为方法)抽象成Obserable(序列)和Obserable创建者,监听者

  • 能用数据绑定的(bindTo和Driver)的就不要手动绑定

  • 一定要熟练RxSwift提供的操作符,要会自定义操作符

iOS开发者交流群:①446310206 ②446310206

代码地址: 加入我们学习

查看评论

在 SQL Server 2K 中实现 大小写敏感的查询条件(WHERE ...),类似 Access(VB) 的 StrComp 函数

--创建如下用户自定义函数(UDF)CREATE FUNCTION StrComp(@Str1 VARCHAR(50),@Str2 VARCHAR(50))--ALTER FUNCTION StrCo...
  • playyuer
  • playyuer
  • 2002-04-01 09:27:00
  • 1081

iOS开发之RxSwift-从入门到实战

相信大家很早就听说过函数式响应编程的概念,现在面试也经常会问相关的问题,还是挺重要的。我是去年的时候浏览大神博客的时候知道的,当时swift还是2.x版本,所以主要是使用的ReactiveCocoa,...
  • hmh007
  • hmh007
  • 2017-02-22 15:38:26
  • 3825

RxSwift中文文档非官方

  • 2017年10月19日 17:42
  • 13.6MB
  • 下载

RxSwift使用教程

前言RxSwift是Swift函数响应式编程的一个开源库,由Github的ReactiveX组织开发,维护。RxSwift的目的是让让数据/事件流和异步任务能够更方便的序列化处理,能够使用Swift进...
  • Hello_Hwc
  • Hello_Hwc
  • 2016-07-08 11:13:22
  • 34751

RxSwift基本使用(一)

RxSwift部分名词概念解释 Observable : 可被观察的,事件源Observer : 观察者,观察者需要订阅Ob...
  • sdefzhpk
  • sdefzhpk
  • 2017-06-16 10:25:33
  • 993

最新RXSwift资料

  • 2018年04月16日 11:20
  • 21.91MB
  • 下载

iOS中 简单易懂的秒杀倒计时/倒计时

iOS中 简单易懂的秒杀倒计时/倒计时 商城类APP常用的秒杀倒计时 /iOS倒计时...
  • qq_31810357
  • qq_31810357
  • 2016-02-19 20:57:09
  • 11421

swift 干货

github排名 https://github.com/trending,github搜索:https://github.com/searchObjective-C版本点击这里主要工作说明: 1...
  • sinat_32972877
  • sinat_32972877
  • 2017-03-02 17:45:59
  • 934

如何将RxSwift引入项目中

本人是一个正在尝试利用Swift进行移动端开发的菜鸡。在一次偶然的机会下接触到了函数响应式编程这个东西(本篇文章不打算对这个进行表述),网上关于RxSwift 的教程很多,当然你也可从[github获...
  • qq_15983549
  • qq_15983549
  • 2017-07-30 22:15:13
  • 790

RxSwift 的简单使用

RxSwift为ReactiveX(Reactive Extensions)旗下的Swift语言库,提供了Swift平台上进行响应式编程的解决方案。Rx的重要角色为Observable(被观察者)和O...
  • Three_Zhang
  • Three_Zhang
  • 2017-03-12 16:52:25
  • 2083
    个人资料
    专栏达人 持之以恒 博客之星
    等级:
    访问量: 61万+
    积分: 7242
    排名: 3878
    我的微信公众号
    博客专栏
    最新评论