为什么[url pathComponents]包含“/”?

时间:2011-09-09 21:11:56

标签: iphone objective-c url nsurl

以示例为例

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

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

1)为什么路径包含“/”?

2)如果我想要的是“用户”,使用第一个索引是否安全?

[[url pathComponents] objectAtIndex:1];

1 个答案:

答案 0 :(得分:4)

(1)在这种情况下,“/”是根目录。路径中目录之间的其他斜杠只是分隔符,但根文件夹很重要。 “users / 1 / answers / 2”可以指代与“/ users / 1 / answers / 2”不同的位置,前者相对于当前目录,后者始终从根文件夹开始。

(2)是,如果URL是绝对URL,则不是相对URL。但是您可以先使用absoluteURL方法获取绝对URL,然后获取组件。虽然,如果URL只是“http://www.example.com/”,你会得到的只是(“/”),就是它,没有子目录。