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

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

Разработчик

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

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

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

NSURLProtocol

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


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


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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


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

NSURLProtocol абстрактный класс, обеспечивающий базовую структуру для выполнения специфичной для протокола загрузки данных URL. Конкретные подклассы обрабатывают специфические особенности, связанные с одним или более протоколами или схемами URL.

Приложение никогда не должно должно быть непосредственно инстанцировать NSURLProtocol подкласс. Экземпляр надлежащего NSURLProtocol подкласс для NSURLRequest создается NSURLConnection когда запускается загрузка.

NSURLProtocolClient протокол описывает методы, которые реализация использует для управления загрузочной системой URL от a NSURLProtocol подкласс.

Для поддержки настройки специфичных для протокола запросов конструкторы протокола призваны обеспечить категории на NSURLRequest и NSMutableURLRequest. Конструкторы протокола, которые должны расширить возможности NSURLRequest и NSMutableURLRequest таким образом может сохранить и получить специфичные для протокола данные запроса при помощи NSURLProtocolметоды класса propertyForKey:inRequest: и setProperty:forKey:inRequest:.

Существенная ответственность за конструктора протокола создает a NSURLResponse для каждого запроса это обрабатывает успешно. Конструктор протокола может хотеть создать пользовательское, непостоянное NSURLResponse класс для обеспечения протокола определенная информация.

  • Инициализирует NSURLProtocol объект.

    Объявление

    Swift

    init(request request: NSURLRequest, cachedResponse cachedResponse: NSCachedURLResponse?, client client: NSURLProtocolClient?)

    Objective C

    - (instancetype)initWithRequest:(NSURLRequest *)request cachedResponse:(NSCachedURLResponse *)cachedResponse client:(id<NSURLProtocolClient>)client

    Параметры

    request

    URL-запрос на объект протокола URL. Этот запрос сохраняется.

    cachedResponse

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

    client

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

    Обсуждение

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

    Это - определяемый инициализатор для NSURLProtocol.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Попытки зарегистрировать подкласс NSURLProtocol, создание его видимый к загрузочной системе URL.

    Объявление

    Swift

    class func registerClass(_ protocolClass: AnyClass) -> Bool

    Objective C

    + (BOOL)registerClass:(Class)protocolClass

    Параметры

    protocolClass

    Подкласс NSURLProtocol для регистрации.

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

    YEStrue если регистрация успешна, NOfalse иначе. Единственное состояние отказа то, если protocolClass не подкласс NSURLProtocol.

    Обсуждение

    Когда загрузочная система URL начинает загружать запрос, с каждым зарегистрированным классом протокола консультируются поочередно, чтобы видеть, может ли это быть инициализировано с указанным запросом. Первое NSURLProtocol разделите на подклассы для возврата YEStrue когда отправлено a canInitWithRequest: сообщение используется для выполнения загрузки URL. Нет никакой гарантии, что будут консультироваться со всеми зарегистрированными классами протокола.

    С классами консультируются в обратном порядке их регистрации. Подобный проект управляет процессом для создания канонической формы запроса с canonicalRequestForRequest:.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    + unregisterClass:

  • Не регистрирует указанный подкласс NSURLProtocol.

    Объявление

    Swift

    class func unregisterClass(_ protocolClass: AnyClass)

    Objective C

    + (void)unregisterClass:(Class)protocolClass

    Параметры

    protocolClass

    Подкласс NSURLProtocol, чтобы не зарегистрироваться.

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    + registerClass:

  • Возвращает свойство, связанное с указанным ключом в указанном запросе.

    Объявление

    Swift

    class func propertyForKey(_ key: String, inRequest request: NSURLRequest) -> AnyObject?

    Objective C

    + (id)propertyForKey:(NSString *)key inRequest:(NSURLRequest *)request

    Параметры

    key

    Ключ желаемого свойства.

    request

    Запрос, свойства которого должны быть запрошены.

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

    Свойство связалось с key, или nil если никакое свойство не было сохранено для key.

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Устанавливает свойство, связанное с указанным ключом в указанном запросе.

    Объявление

    Swift

    class func setProperty(_ value: AnyObject, forKey key: String, inRequest request: NSMutableURLRequest)

    Objective C

    + (void)setProperty:(id)value forKey:(NSString *)key inRequest:(NSMutableURLRequest *)request

    Параметры

    value

    Значение для установки для указанного свойства.

    key

    Ключ для указанного свойства.

    request

    Запрос, для которого можно создать свойство.

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    + propertyForKey:inRequest:

  • Удаляет свойство, связанное с указанным ключом в указанном запросе.

    Объявление

    Swift

    class func removePropertyForKey(_ key: String, inRequest request: NSMutableURLRequest)

    Objective C

    + (void)removePropertyForKey:(NSString *)key inRequest:(NSMutableURLRequest *)request

    Параметры

    key

    Ключ, значение которого должно быть удалено.

    request

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

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    + propertyForKey:inRequest:

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

    Объявление

    Swift

    class func canInitWithRequest(_ request: NSURLRequest) -> Bool

    Objective C

    + (BOOL)canInitWithRequest:(NSURLRequest *)request

    Параметры

    request

    Запрос, который будет обработан.

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

    YEStrue если подкласс протокола может обработать request, иначе NOfalse.

    Обсуждение

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

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает каноническую версию указанного запроса.

    Объявление

    Swift

    class func canonicalRequestForRequest(_ request: NSURLRequest) -> NSURLRequest

    Objective C

    + (NSURLRequest *)canonicalRequestForRequest:(NSURLRequest *)request

    Параметры

    request

    Запрос, каноническая версия которого желаема.

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

    Каноническая форма request.

    Обсуждение

    Это до каждой конкретной реализации протокола для определения то, что «канонический» означает. Протокол должен гарантировать, что тот же входной запрос всегда приводит к той же канонической форме.

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

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвраты, эквивалентны ли два запроса в целях кэша.

    Объявление

    Swift

    class func requestIsCacheEquivalent(_ aRequest: NSURLRequest, toRequest bRequest: NSURLRequest) -> Bool

    Objective C

    + (BOOL)requestIsCacheEquivalent:(NSURLRequest *)aRequest toRequest:(NSURLRequest *)bRequest

    Параметры

    aRequest

    Запрос для сравнения bRequest.

    bRequest

    Запрос для сравнения aRequest.

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

    YEStrue если aRequest и bRequest эквивалентны в целях кэша, NOfalse иначе. Запросы считают эквивалентными в целях кэша, если и только если они были бы обработаны тем же протоколом, и тот протокол объявляет их эквивалентный после выполнения специфичных для реализации проверок.

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func startLoading()

    Objective C

    - (void)startLoading

    Обсуждение

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

    Подклассы должны реализовать этот метод.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – stopLoading

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

    Объявление

    Swift

    func stopLoading()

    Objective C

    - (void)stopLoading

    Обсуждение

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

    Подклассы должны реализовать этот метод.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – startLoading

  • cachedResponse Свойство

    Кэшируемый ответ получателя. (только для чтения)

    Объявление

    Swift

    @NSCopying var cachedResponse: NSCachedURLResponse? { get }

    Objective C

    @property(readonly, copy) NSCachedURLResponse *cachedResponse

    Обсуждение

    Если не переопределенный в подклассе, этот метод возвращает кэшируемый ответ, сохраненный во время инициализации.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • client Свойство

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

    Объявление

    Swift

    var client: NSURLProtocolClient? { get }

    Objective C

    @property(readonly, retain) id< NSURLProtocolClient > client

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • request Свойство

    Запрос получателя. (только для чтения)

    Объявление

    Swift

    @NSCopying var request: NSURLRequest { get }

    Objective C

    @property(readonly, copy) NSURLRequest *request

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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