IOS下载图片,tableViewCell和Array

时间:2015-06-25 03:20:06

标签: ios objective-c uitableview uiimageview

我有一个数组。 在我的数组中有8个对象序列:

 - text
 - text
 - link Url Image.
 - link Url Image.
 - text
 - link Url Image.
 - link Url Image.
 - text

我已下载所有图片并保存到文件夹。 现在,我怎样才能从文档文件夹中获取所有图像并在tableViewCell中显示相同的myArray?

我使用此代码从文档文件夹中获取所有图像。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *myPath = [paths objectAtIndex:0];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *directoryContents = [fileManager contentsOfDirectoryAtPath:myPath error:nil];
NSMutableArray *subpredicates = [NSMutableArray array];
            [_arrMessageFree addObject:[NSPredicate predicateWithFormat:@"SELF ENDSWITH '.png'"]];
            [_ar addObject:[NSPredicate predicateWithFormat:@"SELF ENDSWITH '.jpg'"]];
NSPredicate *filter = [NSCompoundPredicate orPredicateWithSubpredicates:subpredicates];

NSArray *onlyImages = [directoryContents filteredArrayUsingPredicate:filter];

但是,我无法在myArray中显示文本和图像。

2 个答案:

答案 0 :(得分:1)

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

//after cell initialization add following code

         for (UIView *subview in [cell.contentView subviews]) 
          {
                     [subview removeFromSuperview];
          }
          UIImage *img=[UIImage imageWithContentsOfFile:[onlyImages objectAtIndex:indextPath.row]];
          [cell.contentView addSubview:img];
    }

答案 1 :(得分:0)

正如您所说,您可以在以下行之后将图像名称转换为onlyImages数组:

NSArray *onlyImages = [directoryContents filteredArrayUsingPredicate:filter];

所以让我们用它来获取和创建UIImages

UIImage *temp = nil;
for (int i = 0; i < [onlyImages count]; i++) {
   temp = [UIImage imageNamed:[onlyImages objectAtIndex:i]]; // so now you have your image loaded into `temp` UIImage object
}

希望这有用!

干杯!