封装AFNetworking3.0

前言

由于公司原网络请求的框架比较乱,所以自己封装了一个轻量级的网络框架。

配置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。

配置TBXML

可以从我的demo里拷贝过去直接添加,或者Git下载 TBXML
若从我demo中拷贝的,需要xcode7以上添加libz.tbd依赖,( xcode7以下需要添加libz.dylib)
依赖
需要适配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  有问题可以留言哦!


猜你喜欢

转载自blog.csdn.net/tiantianios/article/details/78420856