NSURLSessionDownloadTask
NSURLSessionDownloadTask
конкретный подкласс NSURLSessionTask
. Большинство методов, связанных с этим классом, документируется в Ссылку класса NSURLSessionTask.
Задачи загрузки непосредственно пишут данные ответа сервера во временный файл, предоставляя Вашему приложению обновления прогресса, когда данные поступают от сервера. При использовании задач загрузки в фоновых сеансах эти загрузки продолжаются, даже когда приложение приостановлено или иначе не работает.
Можно приостановиться (отменяют) задачи загрузки и возобновляют их позже (предполагающий, что сервер поддерживает выполнение так). Можно также возобновить загрузки, переставшие работать из-за проблем сетевого соединения.
Когда Вы используете задачи загрузки:
Во время загрузки сеанс периодически вызывает делегата
URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:
метод с информацией о статусе.После завершения сеанс вызывает делегата
URLSession:downloadTask:didFinishDownloadingToURL:
метод или обработчик завершения. В том методе необходимо или открыть файл для чтения или переместить его в постоянное расположение в каталоге контейнера песочницы приложения.
Наследование
-
NSObject
-
NSURLSessionTask
-
NSURLSessionDownloadTask
-
NSObject
-
NSURLSessionTask
-
NSURLSessionDownloadTask
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
NSCopying
-
NSObject
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.9 и позже.
-
Отменяет загрузку и вызывает обратный вызов с данными резюме для более позднего использования.
Объявление
Swift
func cancelByProducingResumeData(_
completionHandler
: (NSData!) -> Void)Objective C
- (void)cancelByProducingResumeData:(void (^)(NSData *resumeData))
completionHandler
Параметры
completionHandler
Обработчик завершения, который вызывают, когда была успешно отменена загрузка.
Если загрузка resumable, обработчик завершения предоставлен a
resumeData
объект. Ваше приложение может позже передать этот объект сеансуdownloadTaskWithResumeData:
илиdownloadTaskWithResumeData:completionHandler:
метод для создания новой задачи, возобновляющей загрузку, где это кончило.Обсуждение
Загрузка может быть возобновлена, только если отвечают следующим условиям:
Ресурс не изменился, так как Вы сначала запросили его
Задачей является HTTP или HTTPS
GET
запросСервер предоставляет любому
ETag
илиLast-Modified
заголовок (или оба) в его ответеСервер поддерживает запросы диапазона байта
Временный файл не был удален системой в ответ на давление дискового пространства
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.