2011-09-09 98 views
1

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

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

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

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

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

[[url pathComponents] objectAtIndex:1]; 
+1

它的安全性从你的iPhone在硬编码索引时不会爆炸的地方开始:) – JustSid

+1

呵呵。当我看到一个幻数时,我的脚无法控制地颤抖,尤其是需要花费一周时间才能更新的东西= D –

回答

2

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

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

+0

感谢您的伟大答案!现在完美。 “但是你可以先用absoluteURL方法获取绝对URL,然后获取组件” - 好的信息 –

相关问题