2017-09-07 24 views
0

총 이미지 크기가 50MB 인 1000 개가 넘는 이미지를 다운로드하려고합니다. 아이폰 OS 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 
     }) 
} 

그래서 난 하나 하나 이미지를 다운로드하려면,하지만 지금은 아이폰 OS 10 sendAsynchronousRequest는 사용되지 않으며 나는 큐에 이미지를 추가하는 방법을 모르겠어요. iOS 10에서 sendAsynchronousRequest를 사용하는 것에 대해 다른 질문을했지만 대기열에 추가하는 방법을 찾지 못했습니다. 대부분의 대답은 URLSession.shared.dataTask(...)이지만 거기에 작업을 대기열에 추가 할 수는 없습니다. 모든 요청을 operationQueue에 추가하는 방법에 대한 제안이 있으십니까?

답변

1

URLSession은 올바른 방법입니다.

NSURLConnection과 달리 요청이 대기열에서 전달되는 경우 URLSession 자체가 대기열에 전달됩니다.

documentation

을 읽을 그것은 가치가

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

와 사용자 세션을 생성