我正在尝试将图像从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 :(得分: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);
答案 1 :(得分:0)
在主线程中从Internet加载图像总是不好的。
您需要继承UITableViewCell
并在后台线程中加载图像。
这里你几乎没有建议如何去做。