前言
由于公司原网络请求的框架比较乱,所以自己封装了一个轻量级的网络框架。
配置AFNetworking环境
AFNetWorking 更新了3.0,之前的工程一直用的2.63。这两个版本变化还是比较大的,以前的AFNetworking是NSURLConnection + NSOperation,但是3.0版本移除了对NSURLConnectionOperation的支持,AFNetworking是用iOS7中新的网络接口NSURLSessionOperation来代替的。NSURLSessionOperation在程序进入后台后会比NSURLConnectionOperation更加灵活,更先进,更稳定。
cococapods
platform :ios, '8.0'
pod 'AFNetworking', '~> 3.0'
使用AFNetworking
这里我就不多说了,网上好多教程,可以自己去网上学习下。工程文件目录
所以用到了YYModel 及TBXML库 ,
YYModel 用cococapods导入,这里就详细说了,下面说一下配置TBXML。
若从我demo中拷贝的,需要xcode7以上添加libz.tbd依赖,(
xcode7以下需要添加libz.dylib)
依赖需要适配TBXML -fno-objc-arc 手动内存管理。
依赖需要适配TBXML -fno-objc-arc 手动内存管理。
若是从Git下载的需要
在
PrefixHeader.pch中
添加
#import <UIKit/UIKit.h>
使用Request.m类
系统及参数配置(也就是每次请求网络数据时必填的参数)
- (NSMutableDictionary *)creatPostParametersWithArray:(NSMutableDictionary *)dict andServiceMethod:(ServiceMethod *)method
{
//配置系统参数
NSMutableDictionary *apiParam = [[NSMutableDictionaryalloc] initWithObjectsAndKeys:kAPI_KEY,@"key",[[[NSBundlemainBundle] infoDictionary]objectForKey:@"CFBundleShortVersionString"],@"version",nil];
return apiParam;
}
XML配置
在service_metadata.xml中配置网络求情名称、方式(GET、POST)、路径、以及请求成功时的model名称。项目中使用
添加
#import
"Request.h"
[[RequestsharedClient]requestWithName:@"请求的名称" withParameters:nilsuccessCallBack:^(QZShopCartResultModel *objc) {
} failCallback:^(NSString *error) {
}];
GIT demo地址
NetWork的Demo 有问题可以留言哦!