前言
过完年回来,我们iOS组的新项目开发正式从OC转到Swift,采用RxSwift+Moya+HandyJSON优雅的网络请求。刚开始对这种响应式的编程思想显得有点懵逼,现在这个版本开发已经接近尾声,经过2个多月的实战和摸索,自己在Swift之路也是正式上车了。在此谈一下自己的开发感言。
RxSwift
RxSwift其实就是一个开源库,它能使用Swift语言进行响应式编程,目的是让数据/事件流和异步任务能够更方便的序 列化处理,降低的代码的耦合度。
Observable<T>
Observable是RxSwift中的一个可观察序列。它的作用可以异步地产生一系列的 Event(事件),也就是一个Observable<T>对象可以不定期地发出event(element : T) 这样一个东西。
这些Event中,也可以携带数据,T就是用来指定携带数据的类型。
有了可观察序列,我们还需要有一个Observer(订阅者)来订阅它,这样这个订阅者才能收到 Observable 不时发出的 Event。
Event
一个 Observable 是可以发出 3 种不同类型的 Event 事件:
next:next事件就是那个可以携带数据 的事件,订阅者监听到这个事件就可以对数据进行相 应的处理。
error:error 事件表示一个错误,它可以携带具体的错误内容,一旦 Observable发出了 error event,则这个 Observable 就等于终止了,以后它再也不会发出 event 事件了。
completed:completed 事件表示Observable 发出的事件正常地结束了,跟 error一样,一旦 Observable 发出了 completed event,则这个 Observable 就等于终止了,以后它再也不会发出 event 事件了。
Moya
Moya是在Alamofire的基础上进行封装的,允许高度自定义的网络层,我们在开发的时候可以使用Moya,根据需求进行接口的设置,实现网络请求。
基本使用
1 根据业务需求创建具体请求,传入相应的请求参数
2 让ReusmeAPI实现TargetType协议,定义请求需要的基本信息,包括请求的域名,参数,请 求方式等
3 在自定义的网络模块中发送请
HandyJSon
HandyJSon是Swift中JSON转模型的一个框架,能够做到JSON转Model一步到位,而且使用起来,非常简洁方便
直接继承HandyJSon定义属性就可以