2010-12-16 81 views
0

當將在iOS NSSearchPathForDirectoriesInDomains再回到0的路徑,如果我有以下內容:NSSearchPathForDirectoriesInDomains返回空路徑?

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

NSLog(@"paths: %d", [paths count]); 

if ([paths count] > 0) 
{ 
    // path exists and is the 1st item in the array 
} 
else 
{ 
    // path doesn't exist. Under what conditions would it not exist? 
} 

回答

1

的NSArray *路徑= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

添加「s」

+0

對不起,這是我的一個錯字。我很好奇什麼時候會有0路徑(使用正確的API名稱) – 2010-12-16 02:37:00

1

我懷疑這只是防禦性編碼。我看不出爲什麼這個確切的調用會返回0路徑,但是NSSearchPathForDirectoriesInDomains()方法可能會傳遞給它的不同參數。

此外,即使路徑存在,文檔說,並不能保證實際的目錄存在,所以理想情況下,你需要做另一個檢查那裏,雖然NSDocumentDirectory我懷疑大多數人,包括我自己,只是假設它會在那裏 - 不知道爲什麼它不會..

+0

[它只是返回一個空數組。](http://stackoverflow.com/questions/12938962/index-0-beyond-bounds-for-空陣列,同時,獲得到了的文檔目錄) – 2012-10-17 16:38:53

0

我認爲它不會在那裏崩潰。只是編譯器停在錯誤的位置。