AFNetworking的二次封装

本文介绍了XTNetworking,一个基于AFNetworking和YYCache的网络请求二次封装框架。内容包括框架结构、核心组件的功能解释,以及如何手动集成到项目中。XTNetworking通过XTNetworkConfigureManager、XTApiRequest、XTApiRequestCacheManager和XTApiRequestUtilsManager提供网络请求配置、缓存管理、工具方法等功能,旨在简化iOS应用的网络请求操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AFNetworking的二次封装

在iOS开发中,对于网络请求的封装,大部分人用的都是AFNetworking。对其的二次封装也有不少。前段时间,刚刚需要重构公司的APP,所以就重构了下网络请求。

先放代码:XTNetworking

框架结构

XTNetworking主要是使用了AFNetworking作为网络请求。YYCache做为缓存。这两部分,如果项目里面已经存在可以不做添加。

主要的文件:

XTNetworkConfigureManager

网络库常用配置管理类(可以根据自己的需求自定义)。主要使用配置整个网络请求的配置信息。比如用户的登录code,全局控制是否打印请求结果等。

XTApiRequest

这是所有请求类的封装,里面包含了请求的设置、请求方法、以及数据处理。也是整个库的核心

1、以下的属性都是设置当前的网络请求。


/** 请求的缓存类型,默认不使用缓存 */
@property (nonatomic, assign) XTApiRequestCacheType cacheType;

/** 是否开启返回结果打印,默认关闭 */
@property (nonatomic, assign) BOOL isOpenResultLog;

/** 移除通用参数,默认不移除 */
@property (nonatomic, assign) BOOL removeCommonParameters;

/** 请求超时时间 默认20秒 */
@property (nonatomic, assign) NSTimeInterval timeoutInterval;

/** 处理数据的 block(异步进行)*/
@property (nonatomic, copy) XTApiRequestHandleDataBlock handleDataBlock;

/** 请求数据格式 */
@property (nonatomic, assign) XTApiRequestSerializer requestSerializer;

/** 响应数据格式 */
@property (nonatomic, assign) XTApiResponseSerializer responseSerializer;

/** 是否需要继续保持对象,当存在异步上传图片 */
@property (nonatomic,assign) BOOL needRetainWhenAsyncUploadFile;

2、以下的方法都是发起网络请求。

/**
 发起请求

 @param method      请求方式
 @param urlString   请求地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值