Anand Gautam
Anand Gautam

Reputation: 2579

Loading multiple images in background thread in iOS

I am creating an iphone app, where I am trying to fetch multiple (5-7) hi-res images from backend server using URL. All fetched images I need to set in a slideshow, now the problem is that very first time if I am fetching images from server then my images are not displaying. Instead of images, am getting white background. Again if I go back and fetching the same images then it's displaying correctly.

Here is my code :

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];
                    });
      }
 });

Upvotes: 0

Views: 296

Answers (1)

w0mbat
w0mbat

Reputation: 2459

You're creating a new SlideShow every time around the loop. I think you intended to create a single slide show then add all the images to it.

Upvotes: 1

Related Questions