2013-06-24 46 views
0

現在我使用以下代碼通過iOS中的特定名稱從文檔目錄中檢索文件。從iOS中的文檔目錄中檢索特定的文件名

NSMutableArray *arrayToSearch = [[NSMutableArray alloc] init]; 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSError * error; 

    arrayToSearch = (NSMutableArray *)[[NSFileManager defaultManager] contentsOfDirectoryAtPath:[NSString stringWithFormat:@"%@/Manual.txt",documentsDirectory] error:&error]; 

我確定我在文檔目錄中有Manual.txt文件。

但是它並沒有在tableView中顯示任何東西。

我也重新加載tableView。

有什麼問題嗎?

+0

是的,我確定,因爲我可以從文檔目錄中獲取所有文件列表。 –

回答

2

該方法是contentsOfDirectoryAtPath:。閱讀方法的名稱。閱讀文檔中的描述。您傳遞的路徑必須引用目錄,而不是文件。

你試圖做的事情在邏輯上沒有意義。如果你知道一個特定的文件,那麼爲什麼要搜索它?爲什麼創建一個數組?

如果您想查看文件是否存在,請使用NSFileManagerfileExistsAtPath:方法。

如果你只是想在陣列中的文件名,然後做:

NSString *filename = [documentsDirectory stringByAppendingPathComponent:@"Manual.txt"]; 
[arrayToSearch addObject:filename]; // since the array was pre-allocated 

請不要使用stringWithFormat創建的文件名。使用正確的NSString路徑方法,就像我上面所做的一樣。

+0

是的兄弟。我知道了。但我正在使用NSMutableArray。我可以使用@ [文件名];兄弟? –

+0

由於您之前實際分配了可變更值,因此您應該執行'[arrayToSearch addObject:filename];'。我會更新我的答案。 – rmaddy

相關問題