2011-06-23 122 views
0

我有一個zip文件,我解壓縮在目錄'提取'下的文檔目錄(該目錄和其內容是正確創建)。然後,我會在新目錄中的每個項目上做一些事情,如果它是一個文件或一個目錄,則會獨立進行。我使用NSFileManager的contentsOfDirectoryAtPath方法。
問題是,數組extractedItems總是返回null,我不知道我在搞錯什麼。問題在獲取目錄中的所有文件/目錄與contentsOfDirectoryAtPath

NSString *dirnameForUnzippedData = [[NSString alloc] initWithString:@"extract"]; 
NSString *dirpath = [documentsDirectory stringByAppendingPathComponent:dirnameForUnzippedData]; 

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSArray *extractedItems = [fileManager contentsOfDirectoryAtPath:dirnameForUnzippedData error:NULL]; 

for (NSString *item in extractedItems) { ... } 

回答

0

看來你正在看錯路。您的代碼不使用dirpath(或您的documentsDirectory)。

作爲一個附註,不要忘記在完成dirnameForUnzippedData之後 - 或者僅執行dirnameForUnzippedData = @"extract";而不是alloc/init。

+0

謝謝,Eiko。你是對的。它應該是'NSArray * extractedItems = [fileManager contentsOfDirectoryAtPath:dirpath error:NULL];'。如果我要檢查返回的目錄中的項目是否是目錄或文件,我是否需要使用'[fileManager fileExistsAtPath:itemAbsolutePath isDirectory:&isDir]'? – Sefran

+0

@Objnewbie是的,這聽起來很合理。 – Eiko

相關問題