for循环中图像的异步方式

时间:2013-08-29 12:22:40

标签: iphone objective-c ipad ios5 ios6

我有一个for循环,其中包含uiimageview,每次我从数组中添加url的图像,我将其转换为数据和imagewithdata方法使用它,它对我来说很完美,但它需要很长时间时间,我们可以在uitableview中使用的延迟加载中实现它吗?

请帮忙

提前致谢

1 个答案:

答案 0 :(得分:2)

而不是Lazy Loading我在tableView中使用了以下方式,并且它在没有滚动问题的情况下为我工作。

 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^(void) {

            NSData *imageData ;

            imageData = [UICommonUtils imageDataFromString:profile.Photo];

            dispatch_sync(dispatch_get_main_queue(), ^(void) {


                    if([imageData length] > 1)
                    {
                        //UIImageView* imageView = (UIImageView*)[cell viewWithTag:100];
                        cell.ProfileImage.image = [UIImage imageWithData:imageData];
                    }
                    else
                    {
                        cell.ProfileImage.image = [UIImage imageNamed:kDefaultProfileImage];
                    }

                });

            imageData = nil;
        });