模型化网络请求,对Alamofire的封装

之前都在用YTKNetwork进行的开发, 刚接触swift的时候,发现使用Alamofire还是有点不太方便的, 请求的代码都写在了控制器里, 太冗余了.于是就写了一个类似于YTKNetwork的小工具.

直接上代码. 首先要做的是对Alamofire进行一层封装,一是更方便使用, 二是以后更换网络框架的时候,更轻松.


QQ20160614-0.png

我们新建一个工具类单例,继承自Alamofire.Manager,
可以看到我们先定义了一个Finshied闭包,用于处理网络请求的回调.
然后是初始化方法.
接着是两个请求函数, 第一个只是设置了一个固定url,其实调用的是第二个函数. 而第二个函数也很简单,就是使用managerde的request方法.去发送请求, 然后再通过finished把结果传到外面.

然后我们再创建一个请求基类:


QQ20160614-1.png

内部也很简单,就是一个参数字典, 以及一个发送请求的函数. 这个函数会把参数字典和finished闭包作为参数,然后调用网络工具的请求方法.

我们以后的请求只要继承自这个基类,例如我在聚合上申请了一个接口,是查看全国油价的,现在我想创建一个查看油价的请求:


QQ20160614-3.png

我们的init方法接受一个key,然后把key添加到参数字典.

最后外界的调用是这样的:


QQ20160614-4.png

生成一个请求变量,调用sendRequest方法,然后把要做的事情写在finished这个闭包里面.

github上demo的地址:https://github.com/byljbdh/ALNModelNetworkTool
以上.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容