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

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

Разработчик

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

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

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

NSURLConnectionDelegate

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


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

Соответствует


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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


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

NSURLConnectionDelegate протокол определяет методы, характерные для NSURLConnectionDataDelegate и NSURLConnectionDownloadDelegate протоколы.

Делегаты NSURLConnection объекты должны реализовать или данные или делегата загрузки протокол (включая методы, описанные в этом протоколе). В частности:

  • Если Вы используете NSURLConnection в сочетании с Ньюсстэндом Китом downloadWithDelegate: метод, класс делегата должен реализовать NSURLConnectionDownloadDelegate протокол.

  • Иначе, класс делегата должен реализовать NSURLConnectionDataDelegate протокол.

Делегаты, хотящие выполнить пользовательскую обработку аутентификации, должны реализовать connection:willSendRequestForAuthenticationChallenge: метод, который является предпочтительным механизмом для ответа на запросы аутентификации. (См. Ссылку класса NSURLAuthenticationChallenge для получения дополнительной информации о запросах аутентификации.), Если connection:willSendRequestForAuthenticationChallenge: не реализован, более старые, устаревшие методы connection:canAuthenticateAgainstProtectionSpace:, connection:didReceiveAuthenticationChallenge:, и connection:didCancelAuthenticationChallenge: вызываются вместо этого.

connection:didFailWithError: если ошибка происходит во время загрузки ресурса, метод вызывают самое большее один раз. connectionShouldUseCredentialStorage: метод вызывают один раз, непосредственно перед тем, как начинается загрузка ресурса.

  • Говорит делегату, что соединение отправит запрос для запроса аутентификации.

    Объявление

    Swift

    optional func connection(_ connection: NSURLConnection, willSendRequestForAuthenticationChallenge challenge: NSURLAuthenticationChallenge)

    Objective C

    - (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge

    Параметры

    connection

    Соединение, отправляющее сообщение.

    challenge

    Запрос аутентификации, для которого отправляется запрос.

    Обсуждение

    Этот метод позволяет делегату делать обоснованное решение об аутентификации соединения сразу. Если делегат реализует этот метод, он не имеет никакой потребности реализовать connection:canAuthenticateAgainstProtectionSpace: или connection:didReceiveAuthenticationChallenge:. Фактически, те другие методы не вызываются (за исключением более старых операционных систем, где применимо).

    В этом методе необходимо вызвать один из методов респондента проблемы (NSURLAuthenticationChallengeSender протокол):

    Вы могли бы также хотеть проанализировать challenge для схемы аутентификации и предложенных учетных данных прежде, чем вызвать a NSURLAuthenticationChallengeSender метод. Вы никогда не должны предполагать, что присутствуют предложенные учетные данные. Можно или создать собственные учетные данные и ответить этим, или можно передать предложенные учетные данные обратно. (Поскольку этот объект является неизменным, если Вы хотите изменить его, необходимо скопировать его и затем изменить копию.)

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Отправленный, чтобы определить, в состоянии ли делегат реагировать на форму пространства защиты аутентификации.

    Объявление

    Swift

    optional func connection(_ connection: NSURLConnection, canAuthenticateAgainstProtectionSpace protectionSpace: NSURLProtectionSpace) -> Bool

    Objective C

    - (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace

    Параметры

    connection

    Соединение, отправляющее сообщение.

    protectionSpace

    Пространство защиты, генерирующее запрос аутентификации.

    Возвращаемое значение

    YEStrue если делегат, если способный для ответа на форму пространства защиты аутентификации, иначе NOfalse.

    Обсуждение

    Этот метод вызывают прежде connection:didReceiveAuthenticationChallenge:, разрешение делегату проверить пространство защиты прежде, чем попытаться аутентифицировать против него. Путем возврата YEStrue, делегат указывает, что это может обработать форму аутентификации, к которой это делает в последующем вызове connection:didReceiveAuthenticationChallenge:. Если возвращается делегат NOfalse, система пытается использовать цепочку для ключей пользователя для аутентификации. Если Ваш делегат не реализует этот метод, и пространство защиты использует клиентскую аутентификацию сертификата или аутентификацию доверия сервера, система ведет себя, как будто Вы возвратились NOfalse. Система ведет себя, как будто Вы возвратились YEStrue для всех других методов аутентификации.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    Осуждаемый в iOS 8.0.

    Доступный как часть неофициального протокола до iOS 5.0.

  • Отправленный, когда соединение отменяет запрос аутентификации.

    Объявление

    Swift

    optional func connection(_ connection: NSURLConnection, didCancelAuthenticationChallenge challenge: NSURLAuthenticationChallenge)

    Objective C

    - (void)connection:(NSURLConnection *)connection didCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge

    Параметры

    connection

    Соединение, отправляющее сообщение.

    challenge

    Отмененная проблема.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    Осуждаемый в iOS 8.0.

    Доступный как часть неофициального протокола до iOS 5.0.

  • Отправленный, когда соединение должно аутентифицировать проблему для загрузки ее запроса.

    Объявление

    Swift

    optional func connection(_ connection: NSURLConnection, didReceiveAuthenticationChallenge challenge: NSURLAuthenticationChallenge)

    Objective C

    - (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge

    Параметры

    connection

    Соединение, отправляющее сообщение.

    challenge

    Проблема это connection должен аутентифицировать для загрузки его запроса.

    Обсуждение

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

    Делегат может определить число предыдущих запросов аутентификации путем отправки сообщения previousFailureCount к challenge.

    Если предыдущее число отказов 0 и значение, возвращенное proposedCredential nil, делегат может создать новый объект NSURLCredential, предоставив информацию, определенную для типа учетных данных, и отправить a useCredential:forAuthenticationChallenge: сообщение к [challenge sender], передача учетных данных и challenge как параметры. Если proposedCredential не nil, значение является учетными данными от URL или совместно используемого учетного хранения, которое может быть предоставлено для пользователя как обратная связь.

    Делегат может решить отказаться от дальнейших попыток аутентификации в любое время путем отправки [challenge sender] a continueWithoutCredentialForAuthenticationChallenge: или a cancelAuthenticationChallenge: сообщение. Определенное действие является зависящим от реализации.

    Если делегат реализует этот метод, то загрузка приостановит до [challenge sender] отправляется одно из следующих сообщений: useCredential:forAuthenticationChallenge:, continueWithoutCredentialForAuthenticationChallenge: или cancelAuthenticationChallenge:.

    Если делегат не реализует этот метод, реализация по умолчанию используется. Если допустимые учетные данные для запроса предоставлены как часть URL или доступны от NSURLCredentialStorage [challenge sender] отправляется a useCredential:forAuthenticationChallenge: с учетными данными. Если проблема не имеет никаких учетных данных, или учетным данным не удается авторизовать доступ, то continueWithoutCredentialForAuthenticationChallenge: отправляется в [challenge sender] вместо этого.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    Осуждаемый в iOS 8.0.

    Доступный как часть неофициального протокола до iOS 5.0.

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

    Объявление

    Swift

    optional func connectionShouldUseCredentialStorage(_ connection: NSURLConnection) -> Bool

    Objective C

    - (BOOL)connectionShouldUseCredentialStorage:(NSURLConnection *)connection

    Параметры

    connection

    Соединение, отправляющее сообщение.

    Обсуждение

    Этот метод вызывают, прежде чем любая попытка аутентифицировать предпринята.

    Если Вы возвращаетесь NOfalse, соединение не консультируется с учетным хранением автоматически и не хранит учетные данные. Однако в Вашем connection:didReceiveAuthenticationChallenge: метод, можно консультироваться с учетным хранением сами и сохранить учетные данные сами по мере необходимости.

    Не реализация этого метода совпадает с возвратом YEStrue.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    Доступный как часть неофициального протокола до iOS 5.0.

  • Отправленный, когда связь прерывается загрузить свой запрос успешно.

    Объявление

    Swift

    optional func connection(_ connection: NSURLConnection, didFailWithError error: NSError)

    Objective C

    - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error

    Параметры

    connection

    Соединение, отправляющее сообщение.

    error

    Ошибочный объект, содержащий подробные данные того, почему связь прервалась загрузить запрос успешно.

    Обсуждение

    Как только делегат получает это сообщение, оно не получит дальнейших сообщений для connection.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    Доступный как часть неофициального протокола до iOS 5.0.