概述:基于AF3.0的一套网络请求框架,以制作SDK(framework)的模式开发。可以直接进入SDK文件夹打开项目文件直接编译生成framework文件。拖进项目中进行开发。如果对制作framework或该开发模式不清楚,可以参考这篇文章。
架构逻辑:
在基础请求逻辑层之外又做了一层解析和缓存处理,相对来说方便了使用。 先说一说为什么要基于AFNetworking再次开发,不仅因为直接调用其API也不太好,而且也无法做到整个项目的统一配置,最好的方式就是对网络层(AFNetworking)再封装一层,整个项目不允许直接使用 AFNetworking 的 API ,而是直接调用自己封装的网路层,这样网络请求需求都可以在这一层里配置好,使用者无须知道里面的代码逻辑,只管调用封装好的方法就可以实现对应需求。
说明:
1.因为在架构的时候是基于SDK(framework)的模式来进行开发的 所以该案例下载下来看到的目录结构是这样的
Request/RequestDev目录就是你的项目目录 Request/RequestSDK就是该框架的源文件项目,你可以在RequestDev下的项目文件进行测试编译,在RequestSDK下的项目文件进行源码编译打包framework文件。
2.另外,因为在架构的时候是基于SDK的模式开发的,考虑到使用者的项目中可能都会Pod导入了AF、YYCache等第三方库,由此可能会出现重复导入而导致报错的问题,所以已经将使用到的第三方库进行了修改,如图所示,可放心使用。
架构优势:
1.既可以编译framework直接使用,也可以将开源框架源文件拖入项目直接使用
2.降低项目中的耦合
3.统一配置,方便后期维护。
使用方法:
1.导入SDK文件
2.创建自定义model并继承于DRHYModel
1 |
|
然后在外部创建该model并调用
1 | -(DRScheduleDateModel *)scheduleDaterequest |
最后附上项目链接以供参考:
https://github.com/jilei6/HttpRequestSDK