Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Arc-lin/ALNetworking

Repository files navigation

ALNetworking

License MIT Pod version Platform info Platform version

这是什么

ALNetworking 是一个基于AFNetworking的网络层框架。通过它,我们可以使用链式调用的方式去构建一个网络请求。并且支持动态配置,支持插件化拓展,支持请求体和响应体的hook,支持缓存(基于YYCache),支持ReactiveCocoa方式的调用和普通方式调用等等,另外你也可以根据自己的需求,拓展出协程方式的调用,下文会阐述如何封装。

另外该框架也提供了json转模型和模型数组(基于MJExtension),你可以选择性使用,如果想改成YYModel或自己的方式进行转换的话,可以参照实现。

除此之外,该框架还提供了请求日志查看的功能(仅记录该框架发起的网络请求),你可以选择性使用。

环境要求

iOS 9.0 +
AFNetworking 4.0.0+
YYCache 1.0.4+

RAC拓展

ReactiveObjC 3.1.1+

RAC_MJ拓展

MJExtension 3.2.1+

安装

把下面这个东西写进你的podfile

pod 'ALNetworking/Core'

引入json和模型转换工具

pod 'ALNetworking/RAC_MJ'

引入网络请求日志工具

pod 'ALNetworking/Recorder'

文件结构

  • Core/RAC
类名 说明
ALAPIClient 封装AFHTTPSessionManager的类,将AFHTTPSessionManager单例化,解决AFNetworking存在的内存泄露问题
ALBaseNetworking 底层封装AFNetworking的类
ALNetworkCache 封装YYCache的类
ALNetworking 入口类,网络请求要发起的时候需要实例化这个类
ALNetworkingConfig 基础配置类
ALNetworkingConst 枚举和一些方便的宏定义
ALNetworkingRequest 请求体
ALNetworkingResponse 响应体
ALNetworkResponseSerializer 用不同的类型解析响应体
NSDictionary+ALNetworking 封装字典,防止穿空指针构建字典的时候崩溃
  • RAC_MJ
类名 说明
ALBlockTrampoline 数组转block回调
RACSignal+ALNetworking 通过MJExtension将响应体转为模型或模型数组
  • UI
类名 说明
ALURLRecordManager 单例,用于记录网络请求日志
ALURLRecordsViewController 网络请求日志列表控制器
ALURLRecordDetailViewController 网络请求日志详情页

证书

ALNetworking 使用的是MIT证书,详情见LICENSE文件.

AltStyle によって変換されたページ (->オリジナル) /