【发布时间】:2015-01-29 10:06:44
【问题描述】:
如何从NSDocumentsDirectory 检索所有图像?我不知道图片名称,但我需要将所有图片存储在NSMutableArray。
【问题讨论】:
-
你试过什么?您是否遍历文档目录中的所有文件并检查是否有扩展名是图像的扩展名?因为您现在的问题看起来像是一个代码请求,不受欢迎,可能会让您被否决。
标签: ios iphone nsdocumentdirectory
如何从NSDocumentsDirectory 检索所有图像?我不知道图片名称,但我需要将所有图片存储在NSMutableArray。
【问题讨论】:
标签: ios iphone nsdocumentdirectory
试试这个家伙
-(NSMutableArray*)pullOutAllImagesInDocumentsDirectory{
NSArray *listOfPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [listOfPaths objectAtIndex:0];
NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil];
NSMutableArray *imageFilePathsCollection = [[NSMutableArray alloc] init];
for (int imageIndex=0; imageIndex<filePathsArray.count; imageIndex++) {
NSString *strFilePath = [filePathsArray objectAtIndex:0];
if ([[strFilePath pathExtension] isEqualToString:@"png"]||
[[strFilePath pathExtension] isEqualToString:@"PNG"]||
[[strFilePath pathExtension] isEqualToString:@"jpg"]) {
[imageFilePathsCollection addObject:[filePathsArray objectAtIndex:imageIndex]];
}
}
return imageFilePathsCollection;
}
注意:它会给出图片 url 路径。为了获取图像,您可以使用
[yourImageView setImage:[UIImage imageWithContentsOfFile:"Path Of Image"]];
【讨论】:
我假设您指的是特定于您的应用沙箱的文档目录。如果是这样,您可以使用 [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
循环浏览该目录并查找具有 .png 或 .jpg 等格式的文件。路径扩展。
即:
NSString *string = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSArray *array = [[NSFileManager defaultManager] contentsAtPath:string];
for (NSString *doc in array) {
NSLog(@"%@", doc);
if ([doc.pathExtension isEqualToString:@"jpg"]) {
// Is jpg image obviously you want to search for different formats also
}
}
【讨论】: