学习指南:NSURLSession
学习如何利用NSURLSession相当困难,并且目前对我来说还很陌生。 但是,这不是通过创建详细的学习指南来强化和增强新材料的更好方法。
什么是NSURLSession?
NSURLSession是Apple提供的API,供开发人员与HTTP和HTTPS协议进行交互。 NSURLSession提供了为应用程序创建会话以执行诸如数据传输之类的任务的功能。
步骤!
- 创建一个会话。 您可以将其视为在网络浏览器上创建新标签页。
//共享会话,一个基本请求的单例
让会话= 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数据)。 我可以看到数据并知道在哪里访问它们。 下面,我利用了数据并将其显示在我的故事板上。