在iOS中的后台线程中加载多个图像

时间:2014-11-18 21:10:11

标签: ios image ios7 uiimageview

我正在创建一个iphone应用程序,我正在尝试使用URL从后端服务器获取多个(5-7)高分辨率图像。我需要在幻灯片中设置所有获取的图像,现在问题是,如果我从服务器获取图像,那么第一次我的图像不显示。而不是图像,我得到白色背景。再次,如果我返回并获取相同的图像,那么它正确显示。

这是我的代码:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{

       for (int i=0; i<[end.slideShowArray count]; i++) {

       SlideShow *pro = [[SlideShow alloc] init];
       pro = [end.slideShowArray objectAtIndex:i];
       NSURL *url = [NSURL URLWithString:pro.imageUrl];
       NSData *imageData = [NSData dataWithContentsOfURL:url];
       UIImage *img = [UIImage imageWithData:imageData];

            dispatch_async (dispatch_get_main_queue (),
                   ^{
                       [slideshow addImage:img];
                    });
      }
 });

1 个答案:

答案 0 :(得分:1)

您每次在循环中创建一个新的SlideShow。我认为您打算创建一个幻灯片放映,然后将所有图像添加到其中。