学习指南:NSURLSession

学习如何利用NSURLSession相当困难,并且目前对我来说还很陌生。 但是,这不是通过创建详细的学习指南来强化和增强新材料的更好方法。

什么是NSURLSession?

NSURLSession是Apple提供的API,供开发人员与HTTP和HTTPS协议进行交互。 NSURLSession提供了为应用程序创建会话以执行诸如数据传输之类的任务的功能。

步骤!

  1. 创建一个会话。 您可以将其视为在网络浏览器上创建新标签页。
  //共享会话,一个基本请求的单例 
 让会话= NSURLSession.sharedSession() 
  //默认会话,如具有更多可自定义性的共享会话 
  let session = NSURLSession(配置:NSURLSessionConfiguration.defaultSessionConfiguration()) 
  // Ephemeral Session,就像没有Cookie和缓存的默认会话一样,您可以将其视为浏览器上的隐身标签 
  let session = NSURLSession(配置:NSURLSessionConfiguration.ephemeralSessionConfiguration()) 
  // Background Session,在应用程序在后台运行时执行任务的会话 
  let session = NSURLSession(配置:NSURLSessionConfiguration.backgroundSessionConfiguration(identifier)) 

2.设置请求。 打开新标签后,下一步该怎么做? 输入您要访问的URL。

*如果没有参数,则可能不需要请求

  //使用NSMutableURLRequest创建一个请求,并将未包装的URL作为参数传递。 
  let request = NSMutableURLRequest(URL:UnwrappedURL) 

3.为请求设置HTTP方法。 您可以充当一个非常基本的浏览器,并且该浏览器不知道该怎么做。 因此它需要一些帮助。 使用上面创建的NSMutableURLRequest,调用HTTPMethod
POST =创建
GET =读取
PUT =更新*
补丁=更新*
删除=删除

* PUT或PATCH的使用取决于您使用的API。

  //我们将以GET为例。 
  request.HTTPMethod =“ GET” 

4.设置请求参数。 您使用的API可能需要某种授权。 NSURLSession为此使用“ addValue”方法。 同样,使用上面创建的NSMutableURLRequest。

  //在请求上使用addValue方法 
  request.addValue(“ value”,forHTTPHeaderField:“ key”) 
  *这里的顺序是“键值”,而不是“键值” 

5.创建任务。 有了以上所有信息,我们现在就可以执行任务!

  //使用会话创建任务,并提前提出请求 
  //带有请求的会话 
  let task = session.dataTaskWithRequest(NSURLRequest){数据,响应,错误) 
 代码 
  } 
  //没有请求的会话 
  let task = session.dataTaskWithURL(unwrappedURL){(数据,响应,错误)在 
 代码 
  } 
  //默认情况下任务处于挂起状态,在代码末尾使用taskResume启动任务 
  task.resume() 

让我们将所有这些放到一个示例中,以展示NSURLSession可以做什么! 对于此示例,我将使用Wunderground Weather API。 在示例中,我将显示一个没有请求的会话。

文档:https://www.wunderground.com/weather/api/

从那里,通过打印responseData或使用Postman之类的应用程序,您可以查看数据(在本例中为JSON数据)。 我可以看到数据并知道在哪里访问它们。 下面,我利用了数据并将其显示在我的故事板上。