Vidya Vasudev
Vidya Vasudev

Reputation: 91

Lazy loading UITableView with multiple images in each cell

I am using lazy loading to show images on a table view. But I need to create a tableview with multiple images in every cell.Which can be scrolled. All images are loaded from server only How can I create this without any lagging for table scrolling ? Is there any tutorial available for this

Upvotes: 1

Views: 5427

Answers (3)

Sravan
Sravan

Reputation: 1941

There is another option. Using GCD (Grand Central Dispatch).

Example Code :

// Get the filename to load.
    NSString *imageFilename = [imageArray objectAtIndex:[indexPath row]];
    NSString *imagePath = [imageFolder stringByAppendingPathComponent:imageFilename];

    [[cell textLabel] setText:imageFilename];

    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);

    dispatch_async(queue, ^{
        UIImage *image = [UIImage imageWithContentsOfFile:imagePath];

        dispatch_sync(dispatch_get_main_queue(), ^{
            [[cell imageView] setImage:image];
            [cell setNeedsLayout];
        });
    });

Use the same for showing multiple images. Using this will increase the performance of loading tableview definitely.

Refer this to know more about GCD

Upvotes: 2

user133
user133

Reputation: 88

Try this https://github.com/nicklockwood/AsyncImageView .Easy to download images asyncronously from server.

Upvotes: 0

Divyu
Divyu

Reputation: 1313

Try this code. SDWebImage. It downloads image from server and save it to device cache. Also if you don't want save it to cache then you might have a look at AFNetworking.

Upvotes: 2

Related Questions