快速加载JSON图像

时间:2015-05-01 07:43:29

标签: ios json uitableview

我正在开发iOS应用程序。并通过JSON获取图像并在tableview上显示。使用此方法dispatch_async(kBgQueue, ^{...和图像显示在表格视图上,但所有图像显示在一个单元格上并自动回收。图像可以在一段时间后更改,也可以使用占位符图像。使用两个字符串显示图像一个字符串可用于图像名称,第二个字符串可用于URL。然后连接字符串以在集合视图中显示相同问题的图像。在tableview和集合视图中快速显示图像的任何其他方法 我的代码:

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

    {
        mycell=[tableView dequeueReusableCellWithIdentifier:@"cell"];
        UILabel *mylabel = (UILabel *)[mycell viewWithTag:100];
        NSDictionary *dic=[str objectAtIndex:indexPath.row];
        GRLanguage *sharedManager = [GRLanguage sharedManager];
        if ([sharedManager.LanguageCode isEqual:@"hi"]) {
            mylabel.text=[dic objectForKey:@"hindi_name"];
        }else if ([sharedManager.LanguageCode isEqual:@"pa"])
        {
            mylabel.text=[dic objectForKey:@"punjabi_name"];
        }else
        {
            mylabel.text=[dic objectForKey:@"name"];
        }


        [mycell setBackgroundColor:[UIColor clearColor]];
        UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"back copy.png"]];
        self.tableview.backgroundView =img;


        dispatch_async(kBgQueue, ^{     //Using For Lazy Loading
            UIImageView *imagetlt = (UIImageView *)[mycell viewWithTag:1];
            NSString *image =[dic objectForKey:@"image_path"];
            NSString *path=@"http://webapp.opaxweb.net/images/";
            path=[path stringByAppendingString:image];
            NSData *imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:path]];
            if (image == nil) {
                 [imagetlt setImage:[UIImage imageNamed:@"rel_circle.png"]];
            }else
            {
                dispatch_async(dispatch_get_main_queue(), ^{
                  //  UITableViewCell*img = (id) [tableView cellForRowAtIndexPath:indexPath];
                    imagetlt.image = [UIImage imageWithData: imageData];
                });

            }


    });
     return mycell;
}

0 个答案:

没有答案