将目录的内容复制到 NSArray
Posted
技术标签:
【中文标题】将目录的内容复制到 NSArray【英文标题】:Copy contents of directory to an NSArray 【发布时间】:2012-07-12 10:41:30 【问题描述】:我在一个名为 Wallpaper 的文件夹中有许多 jpg 格式的图像。 我正在尝试使用以下代码读取目录的内容并将它们存储在一个数组中:
NSFileManager *manager = [NSFileManager defaultManager];
NSArray *fileList = [manager contentsOfDirectoryAtPath:@"/Wallpaper" error:NULL];
但它不起作用。我无法将它们提取到数组中。 谁能告诉我这是怎么回事?
【问题讨论】:
这个“壁纸”文件夹是在哪里创建的? 它在文档目录中。 【参考方案1】:您需要指定目录的完整路径。
我假设您的文件夹 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];
【讨论】:
【参考方案2】:您使用的是绝对路径“/Wallpaper”,但我猜您的墙纸文件夹不在/中?
NSArray *fileList = [manager contentsOfDirectoryAtPath:@"/Wallpaper" error:NULL];
然后像这样尝试:
NSError *error = nil;
NSArray *fileList = [manager contentsOfDirectoryAtPath:@"/Wallpaper" error:&error];
NSLog(@"load wallpaper error: %@", error);
这将为您提供实际发生的错误。
【讨论】:
【参考方案3】:试试这个:
NSFileManager *filemgr= [NSFileManager defaultManager];
NSArray *filelist = [filemgr contentsOfDirectoryAtPath:Pathwithfoldername error:nil];
【讨论】:
以上是关于将目录的内容复制到 NSArray的主要内容,如果未能解决你的问题,请参考以下文章