NSURLSessionDownloadDelegate
Наследование
Не применимый
Соответствует
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в iOS 7.0 и позже.
NSURLSessionDownloadDelegate протокол определяет методы делегата, при использовании которых необходимо реализовать NSURLSession задачи загрузки. В дополнение к этим методам, убедиться реализовать методы в NSURLSessionTaskDelegate и NSURLSessionDelegate протоколы для обработки событий, характерных для всех типов задачи и событий сеансового уровня, соответственно.
-
URLSession (_: downloadTask:didResumeAtOffset:expectedTotalBytes:) - URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:ТребуемыйГоворит делегату, что задача загрузки продолжила загружать. (требуемый)
Объявление
Swift
optional func URLSession(_session: NSURLSession, downloadTaskdownloadTask: NSURLSessionDownloadTask, didResumeAtOffsetfileOffset: Int64, expectedTotalBytesexpectedTotalBytes: Int64)Objective C
- (void)URLSession:(NSURLSession *)sessiondownloadTask:(NSURLSessionDownloadTask *)downloadTaskdidResumeAtOffset:(int64_t)fileOffsetexpectedTotalBytes:(int64_t)expectedTotalBytesПараметры
sessionСеанс, содержащий закончившуюся задачу загрузки.
downloadTaskВозобновившаяся задача загрузки. Посмотрите объяснение в обсуждении.
fileOffsetexpectedTotalBytesОжидаемая длина файла, в соответствии с
Content-Lengthзаголовок. Если этот заголовок не был предоставлен, значениеNSURLSessionTransferSizeUnknown.Обсуждение
Если resumable задача загрузки отменяется или перестала работать, можно запросить a
resumeDataобъект, предоставляющий достаточно информации для перезапуска загрузки в будущем. Позже, можно вызватьdownloadTaskWithResumeData:илиdownloadTaskWithResumeData:completionHandler:с теми данными.При вызове тех методов Вы получаете новую задачу загрузки. Как только Вы возобновляете, что задача, сеанс вызывает своего делегата
URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:метод с той новой задачей указать, что возобновляется загрузка.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 7.0 и позже.
-
URLSession (_: downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:) - URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:ТребуемыйПериодически сообщает делегату о прогрессе загрузки. (требуемый)
Объявление
Swift
optional func URLSession(_session: NSURLSession, downloadTaskdownloadTask: NSURLSessionDownloadTask, didWriteDatabytesWritten: Int64, totalBytesWrittentotalBytesWritten: Int64, totalBytesExpectedToWritetotalBytesExpectedToWrite: Int64)Objective C
- (void)URLSession:(NSURLSession *)sessiondownloadTask:(NSURLSessionDownloadTask *)downloadTaskdidWriteData:(int64_t)bytesWrittentotalBytesWritten:(int64_t)totalBytesWrittentotalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWriteПараметры
sessionСеанс, содержащий задачу загрузки.
downloadTaskЗадача загрузки.
bytesWrittenЧисло байтов, переданных с прошлого раза этот метод делегата, вызвали.
totalBytesWrittenОбщее количество байтов, переданных до сих пор.
totalBytesExpectedToWriteОжидаемая длина файла, в соответствии с
Content-Lengthзаголовок. Если этот заголовок не был предоставлен, значениеNSURLSessionTransferSizeUnknown.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 7.0 и позже.
-
URLSession (_: downloadTask:didFinishDownloadingToURL:) - URLSession:downloadTask:didFinishDownloadingToURL:ТребуемыйГоворит делегату, что задача загрузки закончила загружать. (требуемый)
Объявление
Swift
func URLSession(_session: NSURLSession, downloadTaskdownloadTask: NSURLSessionDownloadTask, didFinishDownloadingToURLlocation: NSURL)Objective C
- (void)URLSession:(NSURLSession *)sessiondownloadTask:(NSURLSessionDownloadTask *)downloadTaskdidFinishDownloadingToURL:(NSURL *)locationПараметры
sessionСеанс, содержащий закончившуюся задачу загрузки.
downloadTaskЗакончившаяся задача загрузки.
locationФайл URL для временного файла. Поскольку файл является временным, необходимо или открыть файл для чтения или переместить его в постоянное расположение в каталоге контейнера песочницы приложения прежде, чем возвратиться из этого метода делегата.
Если Вы принимаете решение открыть файл для чтения, необходимо сделать фактическое чтение в другом потоке, чтобы избежать блокировать очередь делегата.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 7.0 и позже.
