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入坑解读-你所需要知道的各种概念 沸沸腾关注 2016.11.27 19:11*字...
    枫叶1234阅读 2,854评论 0 2
  • RxSwift把我们程序中每一个操作都看成一个事件,比如一个TextField中的文本改变,一个按钮被点击,或者一...
    水落斜阳阅读 828评论 0 2
  • 前言 在之前用Objective-C语言做项目的时候,我习惯性的会利用MVVM模式去架构项目,在框架Reactiv...
    Tangentw阅读 21,242评论 32 124
  • 一. RxSwift简介 推荐: RxSwift官方文档中文: RxSwift官方文档的中文翻译 RxSwift是...
    TitanCoder阅读 7,138评论 0 23
  • 秋天是浪漫的 唯美的 她融合了感性的色彩和理性的沉静 既有成熟的风韵 又有洒脱的禅境 她是诗 是画 是流动的音乐 ...
    梦双眸阅读 417评论 1 6