How big are these images? I had a similar issue in a recent app. My first suggestion would be to load thumbnail versions of these photos that are much smaller. Here's our method for doing it:
- (UIImage*)imageScaled:(UIImage *) image toMaxSideSize:(int) maxSize
{
float scaleFactor = 0;
if(image.size.width > image.size.height)scaleFactor = maxSize / image.size.width;
else scaleFactor = maxSize / image.size.height;
CGSize newSize = CGSizeMake(image.size.width * scaleFactor, image.size.height * scaleFactor);
UIGraphicsBeginImageContext(newSize);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage* updatedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return updatedImage;
}
So instead of loading the full image into each UITableViewCell, we load the thumbnail like this. in cellForRowAtIndexPath:
UIImage *thumbnail = [self imageScaled:[UIImage imageNamed:[self.photosDictionary objectForKey:@(indexPath.row)]] toMaxSideSize:200];
This StackOverflow post covers some other options for rescaling. cell.backgroundView.image = thumbnail;