RxSwift 函数响应式编程<001>- 《认识 RxSwift》

RxSwift 响应式编程 - 《认识 RxSwift》

一、Rx是什么?

Rx 是 ReactiveX的缩写,是一个用观察者模式开发异步和基于事件编程的库。

Rx 可以简化异步编程方法,并提供更优雅更安全的数据绑定。让我们可以时刻有序地响应新的数据并且处理。

Rx 本身可以说是一种跨平台的标准,它有自己的社区论坛,不管是web 还是移动开发,都能用 Rx 的思维和方法来完成你的工作。

作为一种跨平台标准,目前已经有基于Rx开发了许多不同语言的库,有RxPHP, RxJava, RxKotlin, Rx.NET,RxSwift...,在此我们重点讲解的是RxSwift响应式编程。

在这些不同语言的 Rx 库中,他们都有着相同的 API接口。因此即使在不同语言间使用Rx的方法,使用规则和接口调用的思维模式基本一样。

二、RxSwift有什么作用?

响应更加及时:对UI界面事件操作以及数据信息的获取,即属性值信息发生的改变,能够立即作出响应。

编程更加简洁:对于以前Even事件传递和代理方法做了统一处理,如KVO、Timer、Dlelgate、targer-action、notification等。

优雅绑定数据:实现数据的优雅绑定,特别是结合MVVM设计模式进行编程开发,那简直是完美结合。

编程更加安全:不用担心内存问题,他都做了统一销毁处理。例如以前方法创建计时器Timer还得在不用时做销毁动作,使用RxSwift后不用担心这种问题,它统一进行DisposeBag()的销毁处理。

三、如何安装配置RxSwift?

手动安装:

1、在GitHub地址下载:https://github.com/ReactiveX/RxSwift;

2、将源包中“Rx.xcodeproj”拖拽到你的工程目录中;

3、添加RxSwift.framework、RxCocoa.framework 。

Cocoapod安装:

# Podfile

use_frameworks!

target'YOUR_TARGET_NAME'do

pod'RxSwift','~> 5'

pod'RxCocoa','~> 5'

end

# RxTest and RxBlocking make the most sense in the context of unit/integration tests

target'YOUR_TESTING_TARGET'do

pod'RxBlocking','~> 5'

pod'RxTest','~> 5'

end

Carthage安装:

github "ReactiveX/RxSwift" ~> 5.0

Package Manager 安装

//swift-tools-version:5.0

importPackageDescription

letpackage=Package(

name:"RxTestProject",

dependencies: [

.package(url:"https://github.com/ReactiveX/RxSwift.git",from:"5.0.0")

],

targets: [

.target(name:"RxTestProject",dependencies: ["RxSwift","RxCocoa"])

]

)

四、RxSwift和RxCocoa?

RxSwift: 不包含任何 Cocoa 或者 UI方面的类。

RxCocoa:是基于 RxSwift针对于 iOS开发的一个库,它通过 Extension 的方法给原生的比如 UI 控件添加了 Rx的特性,使得我们更容易订阅和响应这些控件的事件。

你可能感兴趣的:(RxSwift 函数响应式编程<001>- 《认识 RxSwift》)