NSURLSessionDownloadTask
Наследование
-
NSObject -
NSURLSessionTask -
NSURLSessionDownloadTask
-
NSObject -
NSURLSessionTask -
NSURLSessionDownloadTask
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCopying -
NSObjectProtocol -
Печатаемый -
NSCopying -
NSObject
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в iOS 7.0 и позже.
NSURLSessionDownloadTask конкретный подкласс NSURLSessionTask. Большинство методов, связанных с этим классом, документируется в Ссылку класса NSURLSessionTask.
Задачи загрузки непосредственно пишут данные ответа сервера во временный файл, предоставляя Вашему приложению обновления прогресса, когда данные поступают от сервера. При использовании задач загрузки в фоновых сеансах эти загрузки продолжаются, даже когда приложение приостановлено или иначе не работает.
Можно приостановиться (отменяют) задачи загрузки и возобновляют их позже (предполагающий, что сервер поддерживает выполнение так). Можно также возобновить загрузки, переставшие работать из-за проблем сетевого соединения.
Когда Вы используете задачи загрузки:
Во время загрузки сеанс периодически вызывает делегата
URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:метод с информацией о статусе.После завершения сеанс вызывает делегата
URLSession:downloadTask:didFinishDownloadingToURL:метод или обработчик завершения. В том методе необходимо или открыть файл для чтения или переместить его в постоянное расположение в каталоге контейнера песочницы приложения.
-
Отменяет загрузку и вызывает обратный вызов с данными резюме для более позднего использования.
Объявление
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Доступность
Доступный в iOS 7.0 и позже.
