前言:

    无论是Android还是ios都离不开与服务器交互,这就必须用到网络请求,记得在2013年做iOS的时候那时候用的ASIHTTPRequest框架,现在重新捡起iOS的时候ASIHTTPRequest已经停止维护,大家都在用AFNetWorking作为首选网络请求框架,之前的ASIHTTPRequest是基于NSURLConnection类实现的,早期的AFNetWorking也是基于NSURLConnection实现,后来iOS9 之后已经放弃了NSURLConnection,开始使用iOS 7之后推出的NSURLSession,本着追根溯源的原则,首先学习一下NSURLSession的实现网络请求,然后再去学习AFNetWorking。

 了解NSURLSession

    NSURLSession是2013年iOS 7发布的用于替代NSURLConnection的,iOS 9之后NSURLConnection彻底推出历史舞台。其使用起来非常方便,今天使用NSURLConnection分别实现了get、post、表单提交、文件上传、文件下载,让我这个以Android开发为主的屌丝程序员赞叹不已,根据NSURLSession会话对象创建一个请求Task,然后执行该Task即可,包括缓存、会话周期,多线程任务iOS都已经在sdk层面封装完毕,不过比较遗憾的时NSURLSession只提供了异步请求方式而没有提供同步请求方式。接下来我们来如何实现网络请求。

NSURLSession使用

  我们首先以一个简单的get请求为例开始。

1.)首先构造一个NSURL请求资源地址

   // 构造URL资源地址
   NSURL *url = [NSURL URLWithString:@"http://api.nohttp.net/method?name=yanzhenjie&pwd=123"];

2.)创建一个NSRequest请求对象

平面设计培训,网页设计培训,美工培训,游戏开发,动画培训

    // 创建Request请求
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];