目录:

RxSwift 是什么?

RxSwift是Reactive下的一个分支,Reactive涵盖了很多语言。

Reactive是什么意思?

响应式编程,何谓响应式编程?

别急,先看一段简单的代码:

var a = 1

let b = 2

let c = a + b

print(c)

a = 4

print(c)

从上面的代码可以看出来,尽管在输出c之后,a改变了,但是结果仍让不会改变。

所谓的响应式就是当a或者b发生改变之后,c的值也随之改变。

如何实现上述需求?

class Num {

var a: Int {

didSet {

c = a + b

}

}

var b: Int {

didSet {

c = a + b

}

}

var c: Int = 0

init(a: Int, b: Int) {

self.a = a

self.b = b

self.c = a + b

}

}

let n = Num(a: 1, b: 2)

print(n.c)

n.a = 4

print(n.c)

版面 1.png

1、新建对象,同时初始化a、b、c的值

2、打印c的值

3、重新设置a的值,因为监听了a的值,所以c的值被重新赋值了

4、打印c的值

接下来我们在看看另外一个需求,过滤一个数组的中的奇数.

let numbers = [1,2,3,4,5,6,7,8,9]

print(numbers.filter { $0 % 2 == 0 })

版面 2.png

1、创建一个不可变的数组

2、使用filter过滤掉其中的奇数

看完了上面两个示例,我们分析分析

当我们站在时间的维度上面来看,那么不管是第一个中的init或者是第二个的初始化数组,都是一个"常量",因为一旦执行了,就"不可变"了。

在RxSwift的世界里面这个东西就叫做Observable,其中还有一张类似的图

legend.png

现在,我们知道了什么是响应式编程,知道了RxSwift中最重要的概念(以时间为索引的常量队列),之后就要了解一下Observable的operators。

rx在c语言中,RxSwift - 入门相关推荐

  1. c语言中int的取值范围_c语言入门(1)

    c语言入门 C语言一经出现就以其功能丰富.表达能力强.灵活方便.应用面广等特点迅速在全世界普及和推广.C语言不但执行效率高而且可移植性好,可以用来开发应用软件.驱动.操作系统等.C语言也是其它众多高级 ...

  2. Java快速入门学习笔记6 | Java语言中的for循环语句

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  3. Java快速入门学习笔记5 | Java语言中的while循环语句

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  4. Java快速入门学习笔记4 | Java语言中的if条件语句

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  5. Python之pip:Python语言中的pip的简介、安装、使用方法之详细攻略

    Python之pip:Python语言中的pip的简介.入门.使用方法之详细攻略 目录 pip的简介 pip的安装 1.Linux之Ubuntu系统安装pip3 pip的使用方法 1.pip命令集合 ...

  6. 实例分析C语言中strlen和sizeof的区别

    C语言文章更新目录 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C语言基础-第一个C程序 C语言基础-简单程序分 ...

  7. 在C 语言中,请一定记得初始化局部变量!

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! C语言中,未初始化的局部变量到底是多少? 答案往往是: 与编译器有关. 可能但不保证 ...

  8. c语言中cnthe普通变量,不得不说,关于 *(unsigned long *) 和 (unsigned long)

    @辛昕: 然而我很悲伤地再次郑重声明:我木有错!具体请看我回复 水果君 那难得一见的长回帖的回帖!!这事情居然还可以从遥远的 2月2号 刚下班放假那天开始.那天,水群里,水果君弄了个帖子,说让我去回, ...

  9. c语言void结尾,C语言中void*详解及应用

    void在英文中作为名词的解释为"空虚:空间:空隙":而在C语言中,void被翻译为"无类型",相应的void *为"无类型指针".void ...

最新文章

  1. OpenCV(项目)车牌识别4 -- 总结篇
  2. (8) Xamarin使用Jar檔
  3. EXCEL基本操作(一~二)
  4. 使用MyEclipse的注解提示功能以及快捷键总结
  5. 通过btrace排查线上频繁Full GC的case 1
  6. Could not resolve host: 'localhost 报错解决办法
  7. goalnd 分支合并完出现两个箭头
  8. 小米5s升级Android8,小米5s、小米5s Plus升级8.0提前,好消息!
  9. 开源免费etl作业批量调度必备软件 Taskctl Free应用版
  10. 关于virtual box安装windows xp虚拟机遇到的一个问题
  11. 混合动力系统的整车经济性开发与能量管理策略高级技术
  12. 微信小程序跳转微信公众号
  13. 服务器内存型号的后缀字母,收藏!CPU型号20种后缀字母是什么意思?不再被坑!...
  14. c语言直线和椭圆的交点,直线与椭圆交点距离公式
  15. CISCO ASR9000 密码恢复
  16. 微信开发者工具通过二维码编译步骤
  17. 程序员的英文代号_构建一个代号为1的聊天应用程序4
  18. matlab 投影法,梯度投影法 MATLAB程序可执行
  19. Android(一)
  20. 教程:如何把公众号变成淘宝查券返利机器人

热门文章

  1. for in 和 for of 的区别
  2. 手动实现Promise
  3. OpenStack看到中国“钱”景
  4. Pair Poject 1 【新双人贪吃蛇】本组:龚逸 合作者:庞俊
  5. Zipline Development Guidelines
  6. 佛教:关于时间(段)的几种描述
  7. POJ3267The Cow Lexicon
  8. 1.1 开始起步,配置ruby on rails运行环境
  9. 微软SQL Server数据库的两种请求游标
  10. 妙用Telnet快速收发电子邮件(转载)