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的特性,使得我们更容易订阅和响应这些控件的事件。
➕关注【疯狂1024】
网友评论