Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы основы ссылка на протокол NSURLSessionDownloadDelegate

Опции
Развертывание Target:

На этой странице
Язык:

NSURLSessionDownloadDelegate

Наследование


Не применимый

Оператор импорта


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в iOS 7.0 и позже.

NSURLSessionDownloadDelegate протокол определяет методы делегата, при использовании которых необходимо реализовать NSURLSession задачи загрузки. В дополнение к этим методам, убедиться реализовать методы в NSURLSessionTaskDelegate и NSURLSessionDelegate протоколы для обработки событий, характерных для всех типов задачи и событий сеансового уровня, соответственно.

  • Говорит делегату, что задача загрузки продолжила загружать. (требуемый)

    Объявление

    Swift

    optional func URLSession(_ session: NSURLSession, downloadTask downloadTask: NSURLSessionDownloadTask, didResumeAtOffset fileOffset: Int64, expectedTotalBytes expectedTotalBytes: Int64)

    Objective C

    - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didResumeAtOffset:(int64_t)fileOffset expectedTotalBytes:(int64_t)expectedTotalBytes

    Параметры

    session

    Сеанс, содержащий закончившуюся задачу загрузки.

    downloadTask

    Возобновившаяся задача загрузки. Посмотрите объяснение в обсуждении.

    fileOffset

    Если политика кэша файла или в последний раз измененная дата предотвращает повторное использование существующего содержания, то это значение является нулем. Иначе, это значение является целым числом, представляющим число байтов на диске, которые не должны быть получены снова.

    expectedTotalBytes

    Ожидаемая длина файла, в соответствии с Content-Length заголовок. Если этот заголовок не был предоставлен, значение NSURLSessionTransferSizeUnknown.

    Обсуждение

    Если resumable задача загрузки отменяется или перестала работать, можно запросить a resumeData объект, предоставляющий достаточно информации для перезапуска загрузки в будущем. Позже, можно вызвать downloadTaskWithResumeData: или downloadTaskWithResumeData:completionHandler: с теми данными.

    При вызове тех методов Вы получаете новую задачу загрузки. Как только Вы возобновляете, что задача, сеанс вызывает своего делегата URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes: метод с той новой задачей указать, что возобновляется загрузка.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 7.0 и позже.

  • Периодически сообщает делегату о прогрессе загрузки. (требуемый)

    Объявление

    Swift

    optional func URLSession(_ session: NSURLSession, downloadTask downloadTask: NSURLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten totalBytesWritten: Int64, totalBytesExpectedToWrite totalBytesExpectedToWrite: Int64)

    Objective C

    - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didWriteData:(int64_t)bytesWritten totalBytesWritten:(int64_t)totalBytesWritten totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite

    Параметры

    session

    Сеанс, содержащий задачу загрузки.

    downloadTask

    Задача загрузки.

    bytesWritten

    Число байтов, переданных с прошлого раза этот метод делегата, вызвали.

    totalBytesWritten

    Общее количество байтов, переданных до сих пор.

    totalBytesExpectedToWrite

    Ожидаемая длина файла, в соответствии с Content-Length заголовок. Если этот заголовок не был предоставлен, значение NSURLSessionTransferSizeUnknown.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 7.0 и позже.

  • Говорит делегату, что задача загрузки закончила загружать. (требуемый)

    Объявление

    Swift

    func URLSession(_ session: NSURLSession, downloadTask downloadTask: NSURLSessionDownloadTask, didFinishDownloadingToURL location: NSURL)

    Objective C

    - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location

    Параметры

    session

    Сеанс, содержащий закончившуюся задачу загрузки.

    downloadTask

    Закончившаяся задача загрузки.

    location

    Файл URL для временного файла. Поскольку файл является временным, необходимо или открыть файл для чтения или переместить его в постоянное расположение в каталоге контейнера песочницы приложения прежде, чем возвратиться из этого метода делегата.

    Если Вы принимаете решение открыть файл для чтения, необходимо сделать фактическое чтение в другом потоке, чтобы избежать блокировать очередь делегата.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 7.0 и позже.