NSURL - это класс из Foundation.framework в Apple MacOS и iOS. Класс NSURL предоставляет возможность манипулировать URL-адресами и ресурсами, на которые они ссылаются. Объект NSURL представляет собой URL-адрес, который потенциально может содержать расположение ресурса на удаленном сервере, путь к локальному файлу на диске или даже произвольный фрагмент закодированных данных. Доступно в iOS 2.0 и новее.

Класс NSURL предоставляет способ манипулировать URL-адресами и ресурсами, на которые они ссылаются. Объекты NSURL понимают URL-адреса, как указано в RFC 1808, 1738 и 2732. Лакмусовая бумажка на соответствие RFC 1808 соответствует рекомендациям RFC 1808 - являются ли первые два символа resourceSpecifier косой чертой (//).

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

Класс NSURL не может создать новый объект NSURL, если передаваемый путь не является правильно сформированным; путь должен соответствовать RFC 2396.

Класс NSURL является бесплатным мостом с его аналогом Core Foundation, CFURLRef.

Образец:

Например, при создании объекта NSURL вы можете указать file:///path/to/web_root/ в качестве базового URL-адреса и folder/file.html в качестве строковой части следующим образом:

NSURL *baseURL = [NSURL URLWithString:@"file:///path/to/web_root/"];
NSURL *url = [NSURL URLWithString:@"folder/file.html" relativeToURL:baseURL];
NSURL *absURL = [url absoluteURL];
NSLog(@"absURL = %@", absURL);

Ресурс