美文网首页iOS网络相关技术文档iOS实用编程技巧
使用iOS原生NSURLSession简单封装网络请求框架

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

作者: luguoliang | 来源:发表于2016-01-08 16:02 被阅读4785次

在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请求

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

二、post请求

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

三、Swift代码实现

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

post请求可以这么写

request.HTTPMethod = "POST"

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

request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)

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

相关文章

网友评论

  • 452afdc1cd39:不要贴图!!!。。代码 怎么拿吗???
  • Double丶K:求一份Swift3.0的代码 :smiley:
  • jett_yu:请问请求头中的apix-key是什么?
  • 8399b2a61633:为毛第一个截图中的parameters参数没有用到,
    茗荚小草:@nsnumber 这个解释跟第一个截图我没看出关系,我还是觉得get方法里面的第一个参数没用到
    5c0e581e6793:@机器人 开头解释里面说的很清楚啊 “传入要post服务器的数据,这里写成了dictionary ”
  • 9b88159d0110:有源码吗
  • 溪枫狼:给你一个赞。记得把git改过来

本文标题:使用iOS原生NSURLSession简单封装网络请求框架

本文链接:https://www.haomeiwen.com/subject/iynfkttx.html