Почему [url pathComponents] содержит "/"? - PullRequest
2 голосов
/ 10 сентября 2011

Взять, к примеру,

NSURL *url = [NSURL URLWithString:@"eg://resources/users/1/answers/2"];
NSLog(@"%@", [url pathComponents]);

>> ( "/", "users", "a", "answers", "b" )

1) Почему путь содержит «/»?

2) Если я хочу "пользователей", безопасно ли использовать первый индекс?

[[url pathComponents] objectAtIndex:1];

1 Ответ

4 голосов
/ 10 сентября 2011

(1) В этом случае "/" является корневым каталогом. Другие косые черты между каталогами в пути являются просто разделителями, но корневая папка имеет большое значение. «users / 1 / answers / 2» может указывать на местоположение, отличное от «/ users / 1 / answers / 2», первое относится к текущему каталогу, а второе всегда начинается в корневой папке.

(2) Да, если URL является абсолютным, а не относительным. Но вы можете получить абсолютный URL с помощью метода absoluteURL, а затем получить компоненты. Хотя, что, если бы URL был просто "http://www.example.com/",, все, что вы получили бы, это (" / ") и все, без подкаталога.

...