将目录的内容复制到NSArray



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

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

但它不起作用。我无法将它们带入阵列。有人能告诉我这个怎么了吗?

您需要指定目录的完整路径。我假设您的文件夹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];

您使用的是绝对路径"/Wallpaper",但我猜您的壁纸文件夹不在/?

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

试着这样做:

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

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

试试这个:

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

最新更新