NSURLComponents
NSURLComponents
класс является классом, разработанным, чтобы проанализировать URLs на основе RFC 3986 и создать URLs из их составных частей. Его поведение отличается тонко от NSURL
класс, соответствующий более старому RFCs. Однако можно легко получить NSURL
основанный на объектах на содержании URL компоненты возражают или наоборот.
Вы создаете объект компонентов URL одним из трех способов: от NSString
объект, содержащий URL, от NSURL
объект, или с нуля при помощи инициализатора по умолчанию. Оттуда, можно изменить компоненты частного лица URL’s и субкомпоненты путем изменения различных свойств, или в незакодированной форме или в ЗАКОДИРОВАННОЙ URL форме. При установке незакодированного свойства можно тогда получить закодированный эквивалент путем чтения закодированного значения свойства и наоборот.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
NSCopying
-
NSObject
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает объект компонентов URL путем парсинга URL в строковой форме.
Объявление
Objective C
+ (instancetype)componentsWithString:(NSString *)
URLString
Параметры
URLString
URL представляет в виде строки для парсинга.
Возвращаемое значение
Возвращает новый объект компонентов URL, или
nil
если не могла бы быть проанализирована строка URL.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает объект компонентов URL путем парсинга URL от
NSURL
объект.Объявление
Objective C
+ (instancetype)componentsWithURL:(NSURL *)
url
resolvingAgainstBaseURL:(BOOL)resolve
Параметры
url
URL для парсинга.
resolve
Средства управления, должен ли URL быть разрешен против его базового URL перед парсингом. Если
YES
true
, и еслиurl
параметр содержит относительный URL, исходный URL разрешен против его базового URL прежде, чем проанализировать путем вызоваabsoluteURL
метод. Иначе, часть строки используется отдельно.Возвращаемое значение
Возвращает новый объект компонентов URL, или
nil
если не мог бы быть проанализирован URL.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.9 и позже.
-
Инициализирует объект компонентов URL с
nil
для каждого компонента.Объявление
Swift
init()
Objective C
- (instancetype)init
Возвращаемое значение
Возвращает инициализированный объект компонентов URL, или
nil
если происходит ошибка.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Инициализирует объект компонентов URL путем парсинга URL в строковой форме.
Объявление
Swift
init?(string
URLString
: String)Objective C
- (instancetype)initWithString:(NSString *)
URLString
Параметры
URLString
URL представляет в виде строки для парсинга.
Возвращаемое значение
Возвращает инициализированный объект компонентов URL, или
nil
если не могла бы быть проанализирована строка URL.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Инициализирует объект компонентов URL путем парсинга URL от
NSURL
объект.Объявление
Swift
init?(URL
url
: NSURL, resolvingAgainstBaseURLresolve
: Bool)Objective C
- (instancetype)initWithURL:(NSURL *)
url
resolvingAgainstBaseURL:(BOOL)resolve
Параметры
url
URL для парсинга.
resolve
Средства управления, должен ли URL быть разрешен против его базового URL перед парсингом. Если
YES
true
, и еслиurl
параметр содержит относительный URL, исходный URL разрешен против его базового URL прежде, чем проанализировать путем вызоваabsoluteURL
метод. Иначе, часть строки используется отдельно.Возвращаемое значение
Возвращает инициализированный объект компонентов URL, или
nil
если не мог бы быть проанализирован URL.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
URL произошел из компонентного объекта в строковой форме. (только для чтения)
Обсуждение
Если компонентный объект имеет компонент полномочий (пользователь, пароль, узел или порт) и компонент контура, то путь должен или начаться
"/"
или быть пустой строкой. Иначе, это свойство содержитnil
.Если
NSURLComponents
не имеет компонента полномочий (пользователь, пароль, узел или порт) и имеет компонент контура, компонент контура не должен запускаться с"//"
. Если это делает, это свойство содержитnil
.Это свойство может использоваться только для получения строки URL на основе значений других свойств. Для конфигурирования компонентов, основанных на объектах на существующей строке URL, вызовите любого
componentsWithString:
илиinitWithString:
метод.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
-
Объект URL произошел из компонентного объекта. (только для чтения)
Объявление
Swift
@NSCopying var URL: NSURL? { get }
Objective C
@property(readonly, copy) NSURL *URL
Обсуждение
Если компонентный объект имеет компонент полномочий (пользователь, пароль, узел или порт) и компонент контура, то путь должен или начаться
"/"
или быть пустой строкой. Иначе, это свойство содержитnil
.Если
NSURLComponents
не имеет компонента полномочий (пользователь, пароль, узел или порт) и имеет компонент контура, компонент контура не должен запускаться с"//"
. Если это делает, это свойство содержитnil
.Это свойство может использоваться только для получения URL на основе значений других свойств. Для конфигурирования компонентов, основанных на объектах на существующем URL, вызовите любого
componentsWithURL:resolvingAgainstBaseURL:
илиinitWithURL:resolvingAgainstBaseURL:
метод.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает объект URL, полученный из компонентного объекта.
Объявление
Параметры
baseURL
Если не -
nil
, этот URL используется в качестве части базового URL получающегося объекта URL.Обсуждение
Если компонентный объект имеет компонент полномочий (пользователь, пароль, узел или порт) и компонент контура, то путь должен или начаться
"/"
или быть пустой строкой. Иначе, это свойство содержитnil
.Если
NSURLComponents
не имеет компонента полномочий (пользователь, пароль, узел или порт) и имеет компонент контура, компонент контура не должен запускаться с"//"
. Если это делает, это свойство содержитnil
.Для конфигурирования компонентов, основанных на объектах на существующем URL, вызовите любого
componentsWithURL:resolvingAgainstBaseURL:
илиinitWithURL:resolvingAgainstBaseURL:
метод.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Компонент URL фрагмента (часть после a
#
символ), илиnil
если не существующий.Обсуждение
Например, в URL
http://www.example.com/index.html#jumpLocation
, фрагментjumpLocation
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Узел субкомпонент URL, или
nil
если не существующий.Обсуждение
Например, в URL
http://www.example.com/index.html
, узелwww.example.com
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Пароль субкомпонент URL, или
nil
если не существующий.Обсуждение
Например, в URL
http://username:password@www.example.com/index.html
, парольpassword
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Компонент URL пути, или
nil
если не существующий.Обсуждение
Например, в URL
http://www.example.com/index.html
, путь/index.html
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Компонент URL номера порта, или
nil
если не существующий.Обсуждение
Например, в URL
http://www.example.com:8080/index.php
, номер порта8080
.При попытке установить порт в отрицательный номер порта, этот класс выдает исключение.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Компонент URL запроса как строка, или
nil
если не существующий.Обсуждение
Например, в URL
http://www.example.com/index.php?key1=value1&key2=value2
, строка запросаkey1=value1&key2=value2
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
queryItems queryItems
СвойствоКомпонент URL запроса как массив пар имя/значение.
Обсуждение
Когда Вы получаете значение этого свойства,
NSURLComponents
класс анализируетquery
представьте в виде строки и возвращает массивNSURLQueryItem
объекты, каждый из которых представляет единственную пару ключ/значение в порядке, в котором они появляются в строке исходного запроса. Поскольку имя может появиться несколько раз в строке единого запроса,name
свойства элементов запроса, как гарантируют, не будут уникальны. Еслиquery
свойство является пустой строкой,queryItems
свойство является пустым массивом. Еслиquery
свойствоnil
,queryItems
свойство такжеnil
.Когда Вы устанавливаете значение этого свойства,
NSURLComponents
класс присоединяется к каждой паре имя/значение с a=
разделитель и соединения массив с a&
разделитель, затем устанавливаетquery
свойство к получившей строке. УстановкаqueryItems
свойство к пустому массиву устанавливаетquery
свойство к пустой строке и установкаqueryItems
свойство кnil
наборыquery
свойство кnil
.Например, в URL
http://www.example.com/index.php?key1=value1&key2=value2
, значение этого свойства является массивом дваNSURLQueryItem
объекты: тот, свойство имени которогоkey1
и чье свойство значенияvalue1
, и один, свойство имени которогоkey2
и чье свойство значенияvalue2
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
-
Компонент схемы URL, или
nil
если не существующий.Обсуждение
Например, в URL
http://www.example.com/index.html
, схемаhttp
.При попытке установить схему в недопустимую строку схемы, этот класс выдает исключение.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
пользователь пользователь
СвойствоИмя пользователя субкомпонент URL, или
nil
если не существующий.Обсуждение
Например, в URL
http://username:password@www.example.com/index.html
, пользовательusername
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Компонент URL фрагмента (часть после a
#
символ) выраженный как ЗАКОДИРОВАННАЯ URL строка, илиnil
если не существующий.Объявление
Swift
var percentEncodedFragment: String?
Objective C
@property(copy) NSString *percentEncodedFragment
Обсуждение
Например, в URL
http://www.example.com/index.html#jumpLocation
, фрагментjumpLocation
.Если Вы устанавливаете это значение во что-то, что не является допустимой, закодированной процентом строкой, этот класс выдает исключение.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
percentEncodedHost percentEncodedHost
СвойствоУзел субкомпонент URL, выраженный как ЗАКОДИРОВАННАЯ URL строка, или
nil
если не существующий.Объявление
Swift
var percentEncodedHost: String?
Objective C
@property(copy) NSString *percentEncodedHost
Обсуждение
Например, в URL
http://www.example.com/index.html
, узелwww.example.com
.Если Вы устанавливаете это значение во что-то, что не является допустимой, закодированной процентом строкой, этот класс выдает исключение.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Пароль субкомпонент URL, выраженный как ЗАКОДИРОВАННАЯ URL строка, или
nil
если не существующий.Объявление
Swift
var percentEncodedPassword: String?
Objective C
@property(copy) NSString *percentEncodedPassword
Обсуждение
Например, в URL
http://username:password@www.example.com/index.html
, парольpassword
.Если Вы устанавливаете это значение во что-то, что не является допустимой, закодированной процентом строкой, этот класс выдает исключение.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
percentEncodedPath percentEncodedPath
СвойствоКомпонент URL пути, выраженный как ЗАКОДИРОВАННАЯ URL строка, или
nil
если не существующий.Объявление
Swift
var percentEncodedPath: String?
Objective C
@property(copy) NSString *percentEncodedPath
Обсуждение
Например, в URL
http://www.example.com/index.html
, путь/index.html
.Если Вы устанавливаете это значение во что-то, что не является допустимой, закодированной процентом строкой, этот класс выдает исключение.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
percentEncodedQuery percentEncodedQuery
СвойствоКомпонент URL запроса, выраженный как ЗАКОДИРОВАННАЯ URL строка, или
nil
если не существующий.Объявление
Swift
var percentEncodedQuery: String?
Objective C
@property(copy) NSString *percentEncodedQuery
Обсуждение
Например, в URL
http://www.example.com/index.php?key1=value1&key2=value2
, строка запросаkey1=value1&key2=value2
.Если Вы устанавливаете это значение во что-то, что не является допустимой, закодированной процентом строкой, этот класс выдает исключение.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
percentEncodedUser percentEncodedUser
СвойствоИмя пользователя субкомпонент URL, выраженный как ЗАКОДИРОВАННАЯ URL строка, или
nil
если не существующий.Объявление
Swift
var percentEncodedUser: String?
Objective C
@property(copy) NSString *percentEncodedUser
Обсуждение
Например, в URL
http://username:password@www.example.com/index.html
, пользовательusername
.Если Вы устанавливаете это значение во что-то, что не является допустимой, закодированной процентом строкой, этот класс выдает исключение.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.