使用iOS原生NSURLSession简单封装网络请求框架

在iOS7中苹果新增了NSURLSession来替代原来的NSURLConnection,NSURLConnection用的比较多,NSURLSession没有用过,今天尝试简单的封装一下,首先先来看一下使用Object-c封装,

使用block返回请求的结果,-()getDataWithUrl:(NSURL*)url WithParameters:(NSDictionary*)parDictionary Sucessfil:(void(^)(NSDictionary*dict))Sucessful failure:(void (^)(NSString *))failure,这一方法是git请求,需要传入参数URL,post请求可以这样写:-(void)postParameters:(NSDictionary*)Parameters WithUrl:(NSURL*)url Sucessful:(void(^)(NSDictionary*dict))Sucessful failure:(void (^)(NSString *))failure,传入要post服务器的数据,这里写成了dictionary,好了,现在方法的实现部分。

一、首先是git请求

使用iOS原生NSURLSession简单封装网络请求框架_第1张图片

请求头可以根据自己的项目修改,超时时间亦是

二、post请求

使用iOS原生NSURLSession简单封装网络请求框架_第2张图片

写到这儿oc已经写完了,建议写成单例模式。

三、Swift代码实现

使用iOS原生NSURLSession简单封装网络请求框架_第3张图片

swift是一样的只是用不同的语言实现的,所以swift直接贴代码

post请求可以这么写

request.HTTPMethod = "POST"

let postString = "name"+"="+lu+"&"+"age"+"="+100+"&"+"school"+"="+"zg"

request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)

总结:业界已经有很多好的的开源框架,但是如果我们的项目网络部分没有那么复杂,可以尝试自己封装一个练练手,其实上面的代码还可以加上暂停,取消网路请求的功能。由于作者水平有限,文笔粗糙,如有错误望指正,共同学习进步。

你可能感兴趣的:(使用iOS原生NSURLSession简单封装网络请求框架)