2017-09-07 63 views
0

我试图下载超过1000张图像,总大小为50MB。 我对iOS的9码是:iOS 9中的sendAsynchronousRequest弃用并在iOS 10中与OperationQueue一起使用

let operationQueue = OperationQueue.main 
    operationQueue.maxConcurrentOperationCount = 1 
    operationQueue.qualityOfService = .background 
    for url in urls{ 
     let urlRequest = URLRequest(url: URL(string: url)!) 
     NSURLConnection.sendAsynchronousRequest(urlRequest, queue: operationQueue, completionHandler: { (response, data, error) in 
      //image 
     }) 
} 

所以我想一个一个地下载图像,但是现在在iOS的10 sendAsynchronousRequest已被弃用,我不知道如何添加图像队列。我在iOS 10中看到了关于使用sendAsynchronousRequest的不同问题,但我没有找到如何将它添加到队列中的问题。大部分答案都是使用URLSession.shared.dataTask(...),但是你不能将任务添加到队列中。任何建议如何将所有请求添加到operationQueue?

回答

1

URLSession是正确的路要走。

NSURLConnection不同,该请求被分派到一个队列中,URLSession本身被分派到一个队列中。

创建

init(configuration: URLSessionConfiguration, 
      delegate: URLSessionDelegate?, 
      delegateQueue queue: OperationQueue?) 

自定义会话这是值得的阅读documentation

相关问题