RxSwift基础(一)

Rxswift是什么

RxSwif是 ReactiveX 的Swift版本,也就是一个函数式响应编程的框架。对,就这一句话。想要知道他做什么的,我们先来了解一下观察者模式。

观察者模式

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

Rxswift做了什么

RxSwift把我们程序中每一个操作都看成一个事件,比如一个TextField中的文本改变,一个按钮被点击,或者一个网络请求结束等,每一个事件源就可以看成一个管道,也就是sequence,比如TextField,当我们改变里面的文本的时候,这个TextField就会不断的发出事件,从他的这个sequence中不断的流出,我们只需要监听这个sequence,每流出一个事件就做相应的处理。同理,Button也是一个sequence,每点击一次就流出一个事件。也就是我们把每一步都想成是一个事件就好去理解RxSwift了。


E4685E38-2682-49D7-8FF5-E6868D1C834C.png
如何在工程中使用Rxswift

1、创建XCode工程,在工程目录下创建Cartfile文件,文件内容如下:

github "ReactiveX/RxSwift" ~> 4.0

2、打开Terminal,进入到工程根目录,运行Carthage命令:

carthage update
// carthage update --platform iOS //只加载iOS平台的资源

3、在工程中设置对RxSwift的依赖

  • 设置工程 BuildSettings->Framework Search Paths 添加路径 "$(SRCROOT)/Carthage/Build/iOS"
  • 把 工程目录/Carthage/Build/iOS 下的 RxSwift.framework 拖拽到 General->Embedded Binaries下,如图:


    image.png
  • 在需要使用的类中添加引用
import RxSwift

你可能感兴趣的:(RxSwift基础(一))