从文档目录加载图像到一个数组

问题描述:

我有一些JPG图像,我保存到相机镜头的文档目录。我想在文档目录中找到所有jpg图像,并将它们加载到数组中,以便它们可以处于溢出视图。从文档目录加载图像到一个数组

这里是我的代码来查找和排序文件目录中的jpg图像。

NSString *extension = @"jpg"; 
     NSFileManager *fileManager = [NSFileManager defaultManager]; 



     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *documentsDirectory = [paths objectAtIndex:0]; 

     NSArray *contents = [fileManager contentsOfDirectoryAtPath:documentsDirectory error:nil]; 
     NSMutableArray *jpegFiles = [NSMutableArray arrayWithCapacity: [contents count]]; 

     NSString *filename; 
     for (filename in contents) 

     { 
      if ([[filename pathExtension] isEqualToString:extension]) 
        { 
      [jpegFiles addObject:[UIImage imageNamed:[documentsDirectory stringByAppendingPathComponent:filename]]]; 


      } 
     } 

    // Add the coverflow view 
    coverflow = [[TKCoverflowView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 
    coverflow.coverflowDelegate = self; 
    coverflow.dataSource = self; 
    [self.view addSubview:coverflow]; 
    [coverflow setNumberOfCovers:6]; 

- (void) coverflowView:(TKCoverflowView*)coverflowView coverAtIndexWasBroughtToFront:(int)index{ 
     NSLog(@"Front %d",index); 
} 

- (TKCoverflowCoverView*) coverflowView:(TKCoverflowView*)coverflowView coverAtIndex:(int)index{ 


    TKCoverflowCoverView *cover = [coverflowView dequeueReusableCoverView]; 

    if(cover == nil){ 
     // Change the covers size here 
     cover = [[TKCoverflowCoverView alloc] initWithFrame:CGRectMake(0, 0, 280, 210)]; // 224 
     cover.baseline = 200; 

    } 
    cover.image = [covers objectAtIndex:index % [covers count]]; 

    return cover; 

} 

我已经尝试了所有我能想到的,没有任何工作。

有人建议我通过从路径名数组中获取图像的路径来加载每个图像,并使用imageWithContentsOfFile方法加载图像。

我看过这个,做了搜索如何做到这一点,但没有运气。有人能告诉我如何做到这一点。

你应该这样做如下,

if ([[filename pathExtension] isEqualToString:extension]) 
{ 
    [jpegFiles addObject:[UIImage imageWithContentsOfFile:[documentsDirectory stringByAppendingPathComponent:filename]]]; 
} 
+0

的代码是好的,通过{如果([文件名pathExtension] isEqualToString:分机]) – user1114881 2012-03-18 04:35:26

+0

对不起了长期在其他编辑这里的代码是经过精细{ if([[filename pathExtension] isEqualToString:extension]){[jpegFiles addObject:filename];}}它为所有带有.jpg扩展名的图像文件创建一个文件名的数组。我试图使用你的代码,但它不起作用。我想要做的只是将jpegFiles数组中的文件加载到covers数组中,并使用它们,但不知道如何尝试使用arrayWithArray,arrayWithArray,Copy只是继续崩溃。我非常感谢你的帮助和投入。 – user1114881 2012-03-18 04:51:43

+0

我给出的代码为您提供了jpegFiles数组中文档目录中所有jpeg文件的UIImage对象。 – cocoakomali 2012-03-18 12:11:02