Swift从网上下载数据

Ste*_*vik 5 swift

我正在观看udemy swift教程,我看到了这两种从web获取数据的方法:

  1. 用于获取源代码:
var url = NSURL(string: "SOME_URL");
var task = NSURLSession.sharedSession().dataTaskWithURL(url!,
    completionHandler: {
        (data, response, error) -> Void in
        // some code
    }
)
  1. 用于下载图像:
let url = NSURL(string: "SOME_URL")        
let urlRequest = NSURLRequest(URL: url!)

NSURLConnection.sendAsynchronousRequest(urlRequest,
    queue: NSOperationQueue.mainQueue()) {
        (respone, data, error) -> Void in
        // some code
    }

我的问题:

  • 它们之间有什么区别?
  • 我可以使用第一种方法下载图像吗?反之亦然?

Alv*_*ese 2

NSURLSession -> 此 API 提供了一组丰富的委托方法来支持身份验证,并使您的应用程序能够在您的应用程序未运行时或在 iOS 中当您的应用程序挂起时执行后台下载。

会话的行为由用于创建它的配置对象确定。因为存在三种类型的配置对象,所以也有类似的三种类型的会话:行为与 NSURLConnection 非常相似的默认会话、不将任何内容缓存到磁盘的临时会话、以及将结果存储在文件中并继续传输数据的下载会话当您的应用程序暂停、退出或崩溃时。

NSURLConnection -> NSURLConnection 的接口很稀疏,仅提供启动和取消 URL 请求异步加载的控件。您可以在 URL 请求对象本身上执行大部分配置。

您可以使用这两种类型来下载图像。如需更多参考,请访问我指定的链接。