2017-09-07 6 views
0

合計サイズが50MBの1000以上の画像をダウンロードしようとしています。 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が廃止され、私はキューに画像を追加する方法がわかりません。私はsendAsynchronousRequestをiOS 10で使用することについて異なる質問を見ましたが、キューに追加する方法が見つかりませんでした。ほとんどの回答は URLSession.shared.dataTask(...)ですが、タスクをキューに追加することはできません。すべてのリクエストをoperationQueueに追加する方法はありますか?

答えて

1

URLSessionが正しい方法です。

NSURLConnectionとは異なり、要求はキューにディスパッチされ、URLSession自体がキューにディスパッチされます。

それはdocumentation

を読むためにそれは価値が

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

でカスタムセッションを作成します。

関連する問題