2017-09-07 96 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

相關問題