将目录的内容复制到NSArray

时间:2012-07-12 10:41:31

标签: iphone objective-c ios ipad nsfilemanager

我在一个名为壁纸的文件夹中有很多jpg格式的图像。 我正在尝试读取目录的内容并使用以下代码将它们存储在数组中:

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

但它不起作用。我无法将它们提取到数组中。 谁能告诉我这有什么问题?

3 个答案:

答案 0 :(得分: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];

答案 1 :(得分:0)

你正在使用绝对路径“/ Wallpaper”,但我猜你的壁纸文件夹不在/?

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

试试这样:

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

这将为您提供实际发生的错误。

答案 2 :(得分:0)

试试这个:

NSFileManager *filemgr= [NSFileManager defaultManager];

NSArray *filelist = [filemgr contentsOfDirectoryAtPath:Pathwithfoldername error:nil];