NSURLDownloadDelegate
NSURLDownloadDelegate
протокол определяет методы, позволяющие объекту получить информационные обратные вызовы об асинхронной загрузке URL-запроса загрузки. Другие методы делегата предоставляют услуги, позволяющие делегату настраивать процесс выполнения асинхронной загрузки URL.
Обратите внимание на то, что эти методы делегата вызовут на потоке, запустившем асинхронную работу загрузки для связанного NSURLDownload
объект.
A
downloadDidBegin:
сообщение будет отправлено делегату непосредственно после запуска загрузки.Нуль или больше
download:willSendRequest:redirectResponse:
сообщения будут отправлены делегату, прежде чем дальнейшие сообщения будут отправлены, если определено, что загрузка должна перенаправить к новому расположению. Делегат может позволить перенаправление, изменить место назначения или отклонить перенаправление.Нуль или больше
download:didReceiveAuthenticationChallenge:
сообщения будут отправлены делегату, если будет необходимо аутентифицировать для загрузки запроса, и NSURLDownload уже не имеет аутентифицируемых учетных данных.Нуль или больше
download:didCancelAuthenticationChallenge:
если NSURLDownload отменит запрос аутентификации вследствие обнаружения с ошибкой реализации протокола, сообщения будут отправлены делегату.Нуль или больше
download:didReceiveResponse:
сообщения будут отправлены делегату прежде, чем получить adownload:didReceiveDataOfLength:
сообщение. Единственный случай, гдеdownload:didReceiveResponse:
не отправляется делегату, когда реализация протокола встречается с ошибкой, прежде чем мог быть создан ответ.Нуль или больше
download:didReceiveDataOfLength:
сообщения будут отправлены преждеdownloadDidFinish:
илиdownload:didFailWithError:
отправляется делегату.Нуль или один
download:decideDestinationWithSuggestedFilename:
когда достаточная информация будет получена для определения предложенного имени файла для загруженного файла, будет отправлен делегату. Делегат не получит это сообщение еслиsetDestination:allowOverwrite:
был уже отправлен в экземпляр NSURLDownload.A
download:didCreateDestination:
когда экземпляр NSURLDownload создаст файл на диске, сообщение будет отправлено делегату.Если NSURLDownload решит, что загруженный файл находится в формате, который это в состоянии декодировать (Макбинэри, Binhex или gzip), то делегат получит a
download:shouldDecodeSourceDataOfMIMEType:
. Делегат должен возвратитьсяYES
true
декодировать данные,NO
false
иначе.Если экземпляр NSURLDownload не получает a
cancel
сообщение, делегат получит один и только одинdownloadDidFinish:
илиdownload:didFailWithError:
сообщение, но никогда оба. Кроме того, один раз любое из этих сообщений отправляются, делегат не получит дальнейших сообщений для данного NSURLDownload.
Наследование
Не применимый
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.7 и позже.
-
загрузка (_: canAuthenticateAgainstProtectionSpace:) - download:canAuthenticateAgainstProtectionSpace:
ТребуемыйОтправленный, чтобы определить, в состоянии ли делегат реагировать на форму пространства защиты аутентификации. (требуемый)
Объявление
Swift
optional func download(_
download
: NSURLDownload, canAuthenticateAgainstProtectionSpaceprotectionSpace
: NSURLProtectionSpace) -> BoolObjective C
- (BOOL)download:(NSURLDownload *)
download
canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace
Параметры
download
Загрузка, отправляющая сообщение.
protectionSpace
Пространство защиты, генерирующее запрос аутентификации.
Обсуждение
Этот метод вызывают прежде
download:didReceiveAuthenticationChallenge:
, разрешение делегату проверить пространство защиты прежде, чем попытаться аутентифицировать против него. Путем возвратаYES
true
, делегат указывает, что это может обработать форму аутентификации, к которой это делает в последующем вызовеdownload:didReceiveAuthenticationChallenge:
. Не реализация этого метода совпадает с возвратомNO
false
, когда используется обработка аутентификации по умолчанию.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
Доступный как часть неофициального протокола до OS X v10.7.
-
загрузка (_: didCancelAuthenticationChallenge:) - download:didCancelAuthenticationChallenge:
ТребуемыйОтправленный, если запрос аутентификации отменяется вследствие реализации протокола, встречающейся с ошибкой. (требуемый)
Объявление
Swift
optional func download(_
download
: NSURLDownload, didCancelAuthenticationChallengechallenge
: NSURLAuthenticationChallenge)Objective C
- (void)download:(NSURLDownload *)
download
didCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
Параметры
download
URL загружает объект, отправляющий сообщение.
challenge
Запрос аутентификации, вызвавший объект загрузки отменить загрузку.
Обсуждение
Если делегат получит это сообщение, то загрузка перестанет работать, и делегат получит a
download:didFailWithError:
сообщение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
Доступный как часть неофициального протокола до OS X v10.7.
-
загрузка (_: didReceiveAuthenticationChallenge:) - download:didReceiveAuthenticationChallenge:
ТребуемыйОтправленный, когда загрузка URL должна аутентифицировать проблему для загрузки запроса. (требуемый)
Объявление
Swift
optional func download(_
download
: NSURLDownload, didReceiveAuthenticationChallengechallenge
: NSURLAuthenticationChallenge)Objective C
- (void)download:(NSURLDownload *)
download
didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
Параметры
download
URL загружает объект, отправляющий сообщение.
challenge
Запрос аутентификации URL, который должен аутентифицироваться для загрузки запроса.
Обсуждение
Этот метод дает делегату возможность определить план действий, взятый для проблемы: обеспечьте учетные данные, продолжайте, не обеспечивая учетные данные или отмените запрос аутентификации и загрузку.
Делегат может определить число предыдущих запросов аутентификации путем отправки сообщения
previousFailureCount
кchallenge
.Если предыдущее число отказов 0 и значение, возвращенное
proposedCredential
nil
, делегат может создать новый объект NSURLCredential, предоставив информацию, определенную для типа учетных данных, и отправить auseCredential:forAuthenticationChallenge:
сообщение к[challenge sender]
, передача учетных данных иchallenge
как параметры. ЕслиproposedCredential
неnil
, значение является учетными данными от URL или совместно используемого учетного хранения, которое может быть предоставлено для пользователя как обратная связь.Делегат может решить отказаться от дальнейших попыток аутентификации в любое время путем отправки
[challenge sender]
acontinueWithoutCredentialForAuthenticationChallenge:
или acancelAuthenticationChallenge:
сообщение. Определенное действие является зависящим от реализации.Если делегат реализует этот метод, то загрузка приостановит до
[challenge sender]
отправляется одно из следующих сообщений:useCredential:forAuthenticationChallenge:
,continueWithoutCredentialForAuthenticationChallenge:
илиcancelAuthenticationChallenge:
.Если делегат не реализует этот метод, реализация по умолчанию используется. Если допустимые учетные данные для запроса предоставлены как часть URL или доступны от NSURLCredentialStorage
[challenge sender]
отправляется auseCredential:forAuthenticationChallenge:
с учетными данными. Если проблема не имеет никаких учетных данных, или учетным данным не удается авторизовать доступ, тоcontinueWithoutCredentialForAuthenticationChallenge:
отправляется в[challenge sender]
вместо этого.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
Доступный как часть неофициального протокола до OS X v10.7.
-
Отправленный, чтобы определить, должен ли загрузчик URL консультироваться с учетным хранением для аутентификации загрузки. (требуемый)
Объявление
Swift
optional func downloadShouldUseCredentialStorage(_
connection
: NSURLDownload) -> BoolObjective C
- (BOOL)downloadShouldUseCredentialStorage:(NSURLDownload *)
connection
Параметры
connection
Соединение, отправляющее сообщение.
Обсуждение
Этот метод вызывают, прежде чем любая попытка аутентифицировать предпринята. Путем возврата
NO
false
, делегат говорит загрузке не консультироваться с учетным хранением и делает себя ответственным за обеспечение учетных данных для любых запросов аутентификации. Не реализация этого метода совпадает с returingYES
true
. Делегат свободен консультироваться с самим учетным хранением, когда оно получает adownload:didReceiveAuthenticationChallenge:
сообщение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
Доступный как часть неофициального протокола до OS X v10.7.
-
загрузка (_: decideDestinationWithSuggestedFilename:) - download:decideDestinationWithSuggestedFilename:
ТребуемыйДелегат получает это сообщение когда
download
определил предложенное имя файла для загруженного файла. (требуемый)Объявление
Swift
optional func download(_
download
: NSURLDownload, decideDestinationWithSuggestedFilenamefilename
: String)Objective C
- (void)download:(NSURLDownload *)
download
decideDestinationWithSuggestedFilename:(NSString *)filename
Параметры
download
URL загружает объект, отправляющий сообщение.
filename
Предложенное имя файла для загрузки.
Обсуждение
Если загрузка была закодирована от кодирования, предложенное имя файла или получено из последнего компонента контура URL и типа MIME или. Если делегат хочет изменить путь, он должен отправить
setDestination:allowOverwrite:
кdownload
.Специальные замечания
Делегат не получит это сообщение если
setDestination:allowOverwrite:
был уже вызван для загрузки.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
Доступный как часть неофициального протокола до OS X v10.7.
-
downloadDidBegin (_:) - downloadDidBegin:
ТребуемыйОтправленный сразу после того, как объект загрузки начинает загрузку. (требуемый)
Объявление
Swift
optional func downloadDidBegin(_
download
: NSURLDownload)Objective C
- (void)downloadDidBegin:(NSURLDownload *)
download
Параметры
download
URL загружает объект, отправляющий сообщение.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
Доступный как часть неофициального протокола до OS X v10.7.
-
Отправленный, когда создается целевой файл. (требуемый)
Объявление
Swift
optional func download(_
download
: NSURLDownload, didCreateDestinationpath
: String)Objective C
- (void)download:(NSURLDownload *)
download
didCreateDestination:(NSString *)path
Параметры
download
URL загружает объект, отправляющий сообщение.
path
Путь к целевому файлу.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
Доступный как часть неофициального протокола до OS X v10.7.
-
Отправленный, когда объект загрузки получил достаточные данные загрузки для построения объекта NSURLResponse для загрузки. (требуемый)
Объявление
Swift
optional func download(_
download
: NSURLDownload, didReceiveResponseresponse
: NSURLResponse)Objective C
- (void)download:(NSURLDownload *)
download
didReceiveResponse:(NSURLResponse *)response
Параметры
download
URL загружает объект, отправляющий сообщение.
response
Объект ответа URL, полученный как часть загрузки.
response
является неизменным и не будет изменен после того, как этот метод вызывают.Обсуждение
В некоторых редких случаях множественные ответы могут быть получены для единственной загрузки. В этом случае клиент должен предположить, что каждый новый ответ сбрасывает прогресс загрузки к 0 и должен проверить новый ответ на ожидаемую длину содержания.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
Доступный как часть неофициального протокола до OS X v10.7.
-
Отправленный, поскольку объект загрузки получает данные инкрементно. (требуемый)
Объявление
Swift
optional func download(_
download
: NSURLDownload, didReceiveDataOfLengthlength
: Int)Objective C
- (void)download:(NSURLDownload *)
download
didReceiveDataOfLength:(NSUInteger)length
Параметры
download
URL загружает объект, отправляющий сообщение.
length
Объем данных, полученный в этом инкременте загрузки, измеренной в байтах.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
Доступный как часть неофициального протокола до OS X v10.7.
-
загрузка (_: shouldDecodeSourceDataOfMIMEType:) - download:shouldDecodeSourceDataOfMIMEType:
ТребуемыйОтправленный, когда объект загрузки решает, что загруженный файл кодируется, чтобы запросить, должен ли автоматически декодироваться файл. (требуемый)
Объявление
Swift
optional func download(_
download
: NSURLDownload, shouldDecodeSourceDataOfMIMETypeencodingType
: String) -> BoolObjective C
- (BOOL)download:(NSURLDownload *)
download
shouldDecodeSourceDataOfMIMEType:(NSString *)encodingType
Параметры
download
URL загружает объект, отправляющий сообщение.
encodingType
Тип кодирования используемого загруженным файлом. Поддерживаемыми форматами кодировки является Макбинэри (
"application/macbinary"
), Binhex ("application/mac-binhex40"
) и gzip ("application/gzip"
).Возвращаемое значение
YES
true
декодировать файл,NO
false
иначе.Специальные замечания
Если файл был закодирован многократно, делегат может получить это сообщение несколько раз. Если загруженный файл не кодируется, этот метод не вызывают.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
Доступный как часть неофициального протокола до OS X v10.7.
-
загрузка (_: willResumeWithResponse:fromByte:) - download:willResumeWithResponse:fromByte:
ТребуемыйОтправленный, когда объект загрузки получил ответ от сервера после попытки возобновить загрузку. (требуемый)
Объявление
Swift
optional func download(_
download
: NSURLDownload, willResumeWithResponseresponse
: NSURLResponse, fromBytestartingByte
: Int64)Objective C
- (void)download:(NSURLDownload *)
download
willResumeWithResponse:(NSURLResponse *)response
fromByte:(long long)startingByte
Параметры
download
URL загружает объект, отправляющий сообщение.
response
Ответ URL, полученный от сервера в ответ на попытку возобновить загрузку.
startingByte
Расположение запуска возобновленных данных, в байтах.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
Доступный как часть неофициального протокола до OS X v10.7.
-
загрузка (_: willSendRequest:redirectResponse:) - download:willSendRequest:redirectResponse:
ТребуемыйОтправленный, когда объект загрузки решает, что должен изменить URLs, чтобы продолжать загружать запрос. (требуемый)
Объявление
Swift
optional func download(_
download
: NSURLDownload, willSendRequestrequest
: NSURLRequest, redirectResponseredirectResponse
: NSURLResponse?) -> NSURLRequest?Objective C
- (NSURLRequest *)download:(NSURLDownload *)
download
willSendRequest:(NSURLRequest *)request
redirectResponse:(NSURLResponse *)redirectResponse
Параметры
download
URL загружает объект, отправляющий сообщение.
request
Предложенный перенаправленный запрос. Делегат должен проверить перенаправленный запрос, чтобы проверить, что он удовлетворяет свои потребности, и создайте копию с новыми атрибутами для возврата к соединению при необходимости.
redirectResponse
Ответ URL, вызвавший перенаправление. Может быть
nil
в случаях, куда этот метод не отправляется в результате включения делегата в обработке перенаправления.Возвращаемое значение
Фактический URL-запрос для использования в свете ответа перенаправления. Делегат может скопировать и изменить
request
по мере необходимости для изменения его атрибутов возвратитьсяrequest
неизмененный, или возвратnil
.Обсуждение
Если делегат хочет отменить перенаправление, оно должно вызвать
download
объектcancel
метод. Также метод делегата может возвратитьсяnil
отменять перенаправление и загрузку будет продолжать обрабатывать. Это имеет специальную уместность в случае гдеredirectResponse
неnil
. В этом случае любые данные, загружающиеся для загрузки, будут отправлены делегату, и делегат получит adownloadDidFinish:
илиdownload:didFailWithError:
сообщение, как надлежащий.Специальные замечания
Делегат может получить это сообщение в результате преобразования URL запроса к его канонической форме, или по специфичным для протокола причинам, таким как перенаправление HTTP. Реализация делегата должна быть подготовлена получить это сообщение многократно.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
Доступный как часть неофициального протокола до OS X v10.7.
-
Отправленный, если загрузка перестала работать или если ошибка I/O происходит, когда файл записан в диск. (требуемый)
Объявление
Swift
optional func download(_
download
: NSURLDownload, didFailWithErrorerror
: NSError)Objective C
- (void)download:(NSURLDownload *)
download
didFailWithError:(NSError *)error
Параметры
download
URL загружает объект, отправляющий сообщение.
error
Ошибка, вызвавшая отказ загрузки.
Обсуждение
Любой частично загруженный файл будет удален.
Специальные замечания
Как только делегат получает это сообщение, оно не получит дальнейших сообщений для
download
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
Доступный как часть неофициального протокола до OS X v10.7.
-
downloadDidFinish (_:) - downloadDidFinish:
ТребуемыйОтправленный, когда объект загрузки завершил загрузку успешно и записал ее результаты в диск. (требуемый)
Объявление
Swift
optional func downloadDidFinish(_
download
: NSURLDownload)Objective C
- (void)downloadDidFinish:(NSURLDownload *)
download
Параметры
download
URL загружает объект, отправляющий сообщение.
Обсуждение
Делегат не получит дальнейших сообщений для
download
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
Доступный как часть неофициального протокола до OS X v10.7.