2012-07-12 37 views
1

我在一個名爲的文件夾中有許多jpg格式的圖像壁紙。 我想讀目錄的內容,並將其儲存在一個數組使用下面的代碼:將目錄的內容複製到NSArray中

NSFileManager *manager = [NSFileManager defaultManager]; 
NSArray *fileList = [manager contentsOfDirectoryAtPath:@"/Wallpaper" error:NULL]; 

,但它不工作。我無法將它們提取到數組中。 有誰能告訴我這有什麼問題嗎?

+0

這哪裏是 '壁紙' 文件夾中創建? – 2012-07-12 10:46:13

+0

它在文檔目錄中。 – 2012-07-12 10:53:41

回答

5

您需要指定目錄的完整路徑。 我假定您的文件夾Wallpaper位於文檔目錄中。

NSFileManager *fileManager  = [NSFileManager defaultManager]; 
NSString  *documentsPath  = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
NSString  *extractDirPath  = [documentsPath stringByAppendingString: @"/Wallpaper"]; 
NSArray   *extractsList  = [fileManager contentsOfDirectoryAtPath: extractDirPath error: nil]; 
+0

不要忘記正確處理錯誤。 – 2012-07-12 10:51:11

+0

ofcourse !!!正如Liam George Betsworth所說的那樣重要。 – 2012-07-12 10:57:42

0

你正在使用絕對路徑「/壁紙」,但我猜你的牆紙文件夾不在/?

NSArray *fileList = [manager contentsOfDirectoryAtPath:@"/Wallpaper" error:NULL]; 

,並嘗試這樣的:

NSError *error = nil; 
NSArray *fileList = [manager contentsOfDirectoryAtPath:@"/Wallpaper" error:&error]; 
NSLog(@"load wallpaper error: %@", error); 

這會給你的實際發生錯誤。

0

試試這個:

NSFileManager *filemgr= [NSFileManager defaultManager]; 

NSArray *filelist = [filemgr contentsOfDirectoryAtPath:Pathwithfoldername error:nil]; 
相關問題