NSMutableURLRequest
NSMutableURLRequest
подкласс NSURLRequest
если помочь разработчикам, которые могут найти, что это более удобный для видоизменения единственного запроса возражает для серии запросов загрузки URL вместо того, чтобы создать неизменное NSURLRequest
объект для каждой загрузки.
NSMutableURLRequest
, как NSURLRequest
, разработан, чтобы быть расширенным для поддержки дополнительных протоколов путем добавления категорий, обеспечивающих методы доступа для собственных специфичных для протокола свойств. Те методы могут получить и установить фактические значения путем вызова NSURLProtocol
методы propertyForKey:inRequest:
и setProperty:forKey:inRequest:
.
NSURLSession
, NSURLConnection
, и NSURLDownload
классы делают глубокую копию из каждого NSMutableURLRequest
объект передал их инициализаторам и методам создания задачи.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSMutableCopying
-
NSObjectProtocol
-
NSSecureCoding
-
Печатаемый
-
NSCopying
-
NSMutableCopying
-
NSObject
-
NSSecureCoding
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
cachePolicy cachePolicy
СвойствоПолитика кэша получателя.
Объявление
Swift
var cachePolicy: NSURLRequestCachePolicy
Objective C
@property NSURLRequestCachePolicy cachePolicy
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
mainDocumentURL mainDocumentURL
СвойствоОсновной документ URL для получателя.
Объявление
Swift
@NSCopying var mainDocumentURL: NSURL?
Objective C
@property(copy) NSURL *mainDocumentURL
Обсуждение
Вызывающая сторона должна установить основной документ URL в надлежащий основной документ, если известный. Например, при загрузке веб-страницы URL документа HTML для кадра верхнего уровня был бы надлежащим. Этот URL будет использоваться для “только от того же домена, как основной документ” cookie принимает политику.
nil
не указывает основного документа.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
networkServiceType networkServiceType
СвойствоТип сетевой службы соединения.
Объявление
Swift
var networkServiceType: NSURLRequestNetworkServiceType
Objective C
@property NSURLRequestNetworkServiceType networkServiceType
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.7 и позже.
-
timeoutInterval timeoutInterval
СвойствоИнтервал тайм-аута получателя, в секундах.
Объявление
Swift
var timeoutInterval: NSTimeInterval
Objective C
@property NSTimeInterval timeoutInterval
Обсуждение
Если во время попытки подключения запрос остается неактивным для дольше, чем интервал тайм-аута, запрос, как полагают, испытал таймаут. Интервал тайм-аута по умолчанию составляет 60 секунд.
Как правило Вы не должны использовать короткие интервалы тайм-аута. Вместо этого необходимо обеспечить простой способ к пользователю отменить продолжительную работу. Для получения дополнительной информации читайте Разработку для Реальных Сетей.
Специальные замечания
В версиях iOS до iOS 6 минимум (и значение по умолчанию) интервал тайм-аута для любого запроса, содержащего организацию запроса, составлял 240 секунд.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
allowsCellularAccess allowsCellularAccess
СвойствоБулево значение, указывающее, может ли соединение использовать сотовую радиосвязь устройства (если есть).
Объявление
Swift
var allowsCellularAccess: Bool
Objective C
@property BOOL allowsCellularAccess
Обсуждение
YES
true
если может использоваться сотовая радиосвязь устройства;NO
false
иначе. Значение по умолчаниюYES
true
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Добавляет HTTP-заголовок к словарю HTTP-заголовка получателя.
Объявление
Параметры
value
Значение для поля заголовка.
field
Имя поля заголовка. В соответствии с HTTP RFC, имена полей HTTP-заголовка нечувствительны к регистру.
Обсуждение
Этот метод предоставляет возможность к добавленным стоимостям к полям заголовка инкрементно. Если значение было ранее установлено для указанного
field
, предоставленныйvalue
добавляется к существующему значению с помощью надлежащего разделителя полей. В случае HTTP разделитель является запятой.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
allHTTPHeaderFields allHTTPHeaderFields
СвойствоПоля заголовка получателя.
Объявление
Swift
var allHTTPHeaderFields: [NSObject : AnyObject]?
Objective C
@property(copy) NSDictionary *allHTTPHeaderFields
Обсуждение
Поля HTTP-заголовка должны быть строковыми значениями; поэтому, каждый объект и ключ
headerFields
словарь должен быть подклассомNSString
. Если или ключ или значение для пары ключ/значение не являются подклассомNSString
, пара ключ/значение пропускается.NSURLConnection
иNSURLSession
классы разработаны для обработки различных аспектов протокола HTTP для Вас. В результате Вы не должны изменять следующие заголовки:Authorization
Connection
Host
WWW-Authenticate
Кроме того, если длина Ваших данных организации загрузки может быть определена автоматически (например, при обеспечении содержания организации
NSData
объект), тогда значениеContent-Length
установлен для Вас.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
Организация запроса получателя.
Обсуждение
Организация запроса отправляется как тело сообщения запроса, как в HTTP
POST
запрос. Установка данных Тела HTTP очищает любой входной поток вHTTPBodyStream
. Эти значения являются взаимоисключающими.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
См. также
-
HTTPBodyStream HTTPBodyStream
СвойствоОрганизация запроса как входной поток.
Объявление
Swift
var HTTPBodyStream: NSInputStream?
Objective C
@property(retain) NSInputStream *HTTPBodyStream
Обсуждение
Организация запроса получателя будет этим входным потоком. Все содержание потока будет отправлено как организация, как в HTTP
POST
запрос. Входной поток должен быть нераскрытым, и получатель вступит во владение как делегат потока.Установка потока организации очищает любые данные в
HTTPBody
. Эти значения являются взаимоисключающими.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
См. также
-
HTTPMethod HTTPMethod
СвойствоМетод Запроса HTTP получателя.
Обсуждение
Методом HTTP по умолчанию является «GET».
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
Булево значение, указывающее, должен ли получатель использовать обработку cookie по умолчанию для запроса.
Объявление
Swift
var HTTPShouldHandleCookies: Bool
Objective C
@property BOOL HTTPShouldHandleCookies
Обсуждение
YES
true
если получатель должен использовать обработку cookie по умолчанию для запроса,NO
false
иначе. Значение по умолчаниюYES
true
.Если Ваше приложение устанавливает
Cookie
заголовок наNSMutableURLRequest
объект, тогда этот метод не имеет никакого эффекта, и cookie-данные, которые Вы устанавливаете в заголовке, переопределяют все cookie от хранилища cookie.Специальные замечания
В OS X v10.2 с Safari 1.0 набор значений этим методом не уважает платформа.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
См. также
-
Булево значение, указывающее, может ли запрос продолжать передавать данные прежде, чем получить ответ от более ранней передачи.
Объявление
Swift
var HTTPShouldUsePipelining: Bool
Objective C
@property BOOL HTTPShouldUsePipelining
Обсуждение
YES
true
если запрос должен продолжать передавать данные,NO
false
если запрос должен ожидать ответа. Значение по умолчаниюNO
false
.Установка этого свойства к
YES
true
значение не гарантирует поведения конвейерной обработки HTTP. Это не может иметь никакого эффекта, если Прокси HTTP будет сконфигурирован, или если Запрос HTTP будет использовать небезопасный метод запроса — например, то запросы POST не конвейерно обработают. Конвейерная обработка поведения может не начаться до второго запроса на данном соединении TCP. Могут быть другие ситуации, где конвейерная обработка не происходит даже при том, что это свойство установлено вYES
true
. HTTP 1.1 позволяет клиенту отправлять многократные запросы к серверу, не ожидая ответа. Хотя HTTP 1.1 требует поддержки конвейерной обработки, некоторые серверы сообщают о себе как являющийся HTTP 1.1, но не поддерживают конвейерную обработку (разъединение, отправка ресурсов в неправильном порядке, исключение части ресурса, и т.д.).Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.7 и позже.
-
Устанавливает указанное поле HTTP-заголовка.
Объявление
Параметры
value
Новое значение для поля заголовка. Любое существующее значение для поля заменяется новым значением.
field
Имя поля заголовка для установки. В соответствии с HTTP RFC, имена полей HTTP-заголовка нечувствительны к регистру.
Обсуждение
NSURLConnection
класс иNSURLSession
классы разработаны для обработки различных аспектов протокола HTTP для Вас. В результате Вы не должны изменять следующие заголовки:Authorization
Connection
Host
WWW-Authenticate
Кроме того, если длина Ваших данных организации загрузки может быть определена автоматически (например, при обеспечении содержания организации
NSData
объект), тогда значениеContent-Length
установлен для Вас.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.