快速从网络下载数据

Posted

技术标签:

【中文标题】快速从网络下载数据【英文标题】:Swift downloading data from web 【发布时间】:2015-03-24 09:35:52 【问题描述】:

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

    用于获取源代码:
var url = NSURL(string: "SOME_URL");
var task = NSURLSession.sharedSession().dataTaskWithURL(url!,
    完成处理程序:
        (数据、响应、错误)-> 无效
        // 一些代码
    
)
    用于下载图片:
让 url = NSURL(字符串:“SOME_URL”) 让 urlRequest = NSURLRequest(URL: url!) NSURLConnection.sendAsynchronousRequest(urlRequest, 队列:NSOperationQueue.mainQueue()) (响应,数据,错误)-> 无效 // 一些代码

我的问题:

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

【问题讨论】:

【参考方案1】:

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

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

NSURLConnection -> NSURLConnection 的接口是稀疏的,只提供了用于启动和取消 URL 请求的异步加载的控件。您对 URL 请求对象本身执行大部分配置。

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

【讨论】:

以上是关于快速从网络下载数据的主要内容,如果未能解决你的问题,请参考以下文章

无法快速下载太大的json数据

在android中从网络下载图像数据的最佳方法是啥

解决github打开速度慢问题

我无法从亚马逊网络服务下载数据集 [关闭]

下载速率(上行速率)和上传速率(下行速率)

Github访问速度很慢的原因,以及解决方法