CocoaPods trunk is moving to be read-only. Read more on the blog, there are 19 months to go.

YUNetwork 1.5.5

YUNetwork 1.5.5

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Oct 2017

Maintained by yuzhidu.



YUNetwork 1.5.5

  • By
  • 马裕博

基于AFNetworking

基础使用教程

高级使用教程

YUKNetwork 提供了哪些功能

相比 AFNetworking,YUNetwork 提供了以下更高级的功能:

  • 支持按时间缓存网络请求内容
  • 支持按版本号缓存网络请求内容
  • 支持统一设置服务器和 CDN 的地址
  • 支持检查返回 JSON 内容的合法性
  • 支持文件的断点续传
  • 支持 blockdelegate 两种模式的回调方式
  • 支持批量的网络请求发送,并统一设置它们的回调(实现在 YUBatchRequest 类中)
  • 支持方便地设置有相互依赖的网络请求的发送,例如:发送请求 A,根据请求 A 的结果,选择性的发送请求 B 和 C,再根据 B 和 C 的结果,选择性的发送请求 D。(实现在 YUChainRequest 类中)
  • 支持网络请求 URL 的 filter,可以统一为网络请求加上一些参数,或者修改一些路径。

YUNetwork 的基本思想

YUNetwork 的基本的思想是把每一个网络请求封装成对象。所以使用 YUNetwork,你的每一个请求都需要继承 YURequest 类,通过覆盖父类的一些方法来构造指定的网络请求。

把每一个网络请求封装成对象其实是使用了设计模式中的 Command 模式,它有以下好处:

  • 将网络请求与具体的第三方库依赖隔离,方便以后更换底层的网络库。
  • 方便在基类中处理公共逻辑。
  • 方便在基类中处理缓存逻辑,以及其它一些公共逻辑。
  • 方便做对象的持久化。

安装

你可以在 Podfile 中加入下面一行代码来使用 YUNetwork

    pod 'YUNetwork'

安装要求

YUNetwork 依赖于 AFNetworking(>=3.0),可以在 AFNetworking README 中找到更多关于依赖版本有关的信息。

使用

1.导入头文件

#import "YUNetwork.h"

2.新建类,继承自 YURequest
例如:

@interface ApiLogin : YURequest