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

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

Разработчик

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

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

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

NSURLConnectionDataDelegate

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


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

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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


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

NSURLConnectionDataDelegate протокол описывает методы, которые должны быть реализованы делегатом к экземпляру NSURLConnection класс. Много методов в этом протоколе существовали как часть неофициального протокола в предыдущих версиях OS X и iOS.

В дополнение к методам, описанным в этом протоколе, NSURLConnection делегат должен также реализовать методы, описанные в NSURLConnectionDelegate протокол.

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

    Объявление

    Swift

    optional func connection(_ connection: NSURLConnection, didReceiveResponse response: NSURLResponse)

    Objective C

    - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response

    Параметры

    connection

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

    response

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

    Обсуждение

    В редких случаях, например в случае HTTP загружаются, где тип контента данных загрузки multipart/x-mixed-replace, делегат получит больше чем один connection:didReceiveResponse: сообщение. Когда это происходит, отбрасывание (или процесс) все данные, ранее поставленные connection:didReceiveData:, и подготовьте обрабатывать следующую часть (который мог потенциально иметь различный тип MIME).

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

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

    Объявление

    Swift

    optional func connection(_ connection: NSURLConnection, didReceiveData data: NSData)

    Objective C

    - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

    Параметры

    connection

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

    data

    Недавно доступные данные. Делегат должен связать содержание каждого data объект, поставленный для роста полных данных для загрузки URL.

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

  • Отправленный, поскольку организация (данные сообщения) запроса передается (такой как в http запросе POST).

    Объявление

    Swift

    optional func connection(_ connection: NSURLConnection, didSendBodyData bytesWritten: Int, totalBytesWritten totalBytesWritten: Int, totalBytesExpectedToWrite totalBytesExpectedToWrite: Int)

    Objective C

    - (void)connection:(NSURLConnection *)connection didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite

    Параметры

    connection

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

    bytesWritten

    Число байтов, записанных в последней записи.

    totalBytesWritten

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

    totalBytesExpectedToWrite

    Число байтов соединение ожидает писать.

    Обсуждение

    Этот метод обеспечивает оценку прогресса загрузки URL.

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

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

    Объявление

    Swift

    optional func connectionDidFinishLoading(_ connection: NSURLConnection)

    Objective C

    - (void)connectionDidFinishLoading:(NSURLConnection *)connection

    Параметры

    connection

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

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

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

    Объявление

    Swift

    optional func connection(_ connection: NSURLConnection, willSendRequest request: NSURLRequest, redirectResponse redirectResponse: NSURLResponse?) -> NSURLRequest?

    Objective C

    - (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse

    Параметры

    connection

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

    request

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

    redirectResponse

    Ответ URL, вызвавший перенаправление. Может быть nil в случаях, где этот метод вызывают из-за канонизации URL.

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

    Фактический URL-запрос для использования в свете ответа перенаправления. Делегат может возвратиться request неизмененный для разрешения перенаправления возвратите новый запрос или возврат nil отклонить перенаправление и продолжать обрабатывать соединение.

    Обсуждение

    Если redirectResponse nil, URL был каноническим (переписанный в его стандартную форму) NSURLProtocol объект, обрабатывающий запрос. Обновите свой пользовательский интерфейс, чтобы показать стандартизированную форму URL, затем возвратить исходный неизмененный запрос.

    Иначе, для отмены перенаправления вызовите connection объект cancel метод, затем возвратите предоставленный объект запроса.

    Для получения организации самого ответа перенаправления возвратиться nil отменять перенаправление. Соединение продолжает обрабатывать, в конечном счете отправляя Вашему делегату a connectionDidFinishLoading или connection:didFailLoadingWithError: сообщение, как надлежащий.

    Для перенаправления запроса к различному URL создайте новый объект запроса и возвратите его.

    Делегат должен быть подготовлен получить это сообщение многократно.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

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

    Объявление

    Swift

    optional func connection(_ connection: NSURLConnection, needNewBodyStream request: NSURLRequest) -> NSInputStream?

    Objective C

    - (NSInputStream *)connection:(NSURLConnection *)connection needNewBodyStream:(NSURLRequest *)request

    Параметры

    connection

    NSURLConnection, запрашивающий новый поток организации.

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

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

    Если возвращается этот метод делегата NULL, сбои соединения.

    Обсуждение

    На OS X, если этот метод не реализован, потоковые данные организации являются spooled к диску в случае, если требуется повторная передача. Этот спулинг может не быть желательным для больших наборов данных.

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

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

    Объявление

    Swift

    optional func connection(_ connection: NSURLConnection, willCacheResponse cachedResponse: NSCachedURLResponse) -> NSCachedURLResponse?

    Objective C

    - (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse

    Параметры

    connection

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

    cachedResponse

    Предложенный кэшируемый ответ для хранения в кэше.

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

    Фактический кэшируемый ответ для хранения в кэше. Делегат может возвратиться cachedResponse неизмененный, возвратите измененный кэшируемый ответ или возврат nil если никакой кэшируемый ответ не должен быть сохранен для соединения.

    Обсуждение

    Этот метод вызывают только если NSURLProtocol обрабатывание запроса решает кэшировать ответ. Как правило ответы кэшируются только, когда все следующее является истиной:

    • Запросом является для HTTP или HTTPS URL (или Ваш собственный сетевой протокол, поддерживающий кэширование).

    • Запрос был успешен (с кодом состояния в 200–299 диапазон).

    • Предоставленный ответ прибыл из сервера, а не из кэша.

    • NSURLRequest политика кэша объекта позволяет кэшироваться.

    • Связанные с кэшем заголовки в ответе сервера (если есть) позволяют кэшироваться.

    • Размер ответа является достаточно маленьким к довольно подходящему в кэше. (Например, при обеспечении дискового кэша ответ должен быть не больше, чем приблизительно 5% размера дискового кэша.)

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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