Swift从网上下载数据

时间:2015-03-24 09:35:52

标签: swift

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

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

      我的问题:

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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