2012-12-02 116 views
0

我想从一个JSON feed加载图像到tableview。下面的代码会返回图片,但它会让应用程序变得非常缓慢和“粘性”。有关如何使其更快的任何想法?这被称为tableview中的每个单元格。桌面视图图像加载缓慢

NSURL *imageURL = [NSURL URLWithString:@"http://www.site.com/images/image_1.jpg"]; 
NSData *imageData = [NSData dataWithContentsOfURL:imageURL]; 
UIImage *cellImage = [UIImage imageWithData:imageData]; 

谢谢大家!

+0

您需要在另一个线程中运行图像加载。 – pbibergal

回答

2

请尝试下面的代码。

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); 
dispatch_group_t group = dispatch_group_create(); 
dispatch_group_async(group, queue, ^{ 
    NSURL *imageURL = [NSURL URLWithString:@"http://www.site.com/images/image_1.jpg"]; 
    NSData *imageData = [NSData dataWithContentsOfURL:imageURL]; 
    UIImage *cellImage = [UIImage imageWithData:imageData]; 

    dispatch_sync(group, ^{ 
     cell.image = cellImage; 
    }); 
}); 
dispatch_release(group);