[RxSwift & RxCocoa]响应式编程基础一

RxSwift 的讲解

命令式编程

“传统的UIKit编程就是命令式编程”,使用函数或闭包用来改变程序中响应的“状态”,例如对UI的操作,使用UI组件的实例对象的方法,改变组件的属性,在系统的事件循环下,UI随着属性的变化而更新。

声明式编程

定义一些行为,然后当一些事件发生后,自动的去运行这些行为(而不是主动调用这些行为),是以事件为驱动,没有对应的事件发生,这些行为是不会被运行的。例如:妈妈给小孩子声明了“挨打就要哭”的行为,妈妈一打小孩子,小孩子就会哭,当妈妈不打孩子,孩子就不会哭。小孩子不会去主动的失声大哭。

响应式编程

存在一个系统,他的UI总是与状态保持一致,当状态改变后,他又可以发出新的应用程序状态。在这个系统中,有声明的行为,这些行为又只会在对应的事件发生后才会执行。在这个系统中,无论是UI还会其他数据的状态总是会有,也就是相应的事件总会发生,也是声明的行为也会执行,UI就会变化,变化的UI或数据又会发出新是事件或者状态。在这种系统的支持下的编程方式变叫做响应式编程。

RxSwift与RxCocoa的关系

  1. RxSwift不会以任何形式去影响现有的应用程序的框架,可以和MVC、MVVM以及MVP模式完美结合。你可以选择任何的设计模式。当然,没有必要为了使用RxSwift而重新开始新的项目,相反完全可以在现有项目基础之上使用RXSwift来构建新的功能。
  2. RxCocoa是与RxSwift相伴的库,他结合了UIKit和Cocoa的所有类,还提供了更加高级的类。他对UIkit的许多组件进行了响应式扩展,以便我们对他们的状态进行订阅。
toggleSwitch.rx.isON
.subscribe(onNext: enabled in
	print(enabled ? "it's On ":"it's Off")
)}

这里是使用的UISwitch控件的Rx扩展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值