2011-09-09 99 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,然後獲取組件」 - 好的信息 –

相關問題