我正在使用ASIHTTPRequest
。使用ASIHTTPRequest
时,我遇到以下问题。
1。)我需要将图像添加到UITableView
(对于每个单元格)asynchronously
。我怎么能这样做?
2。)我需要将图片添加到UIViewController
Asynchronously
。 (不是针对单元格,而是位于UIImageView
上的UIViewController
上。
有人可以帮我一些示例代码,示例或教程开始吗?
答案 0 :(得分:6)
当你可以使用GCD做一些简单的代码时,不需要为ASIHTTPRequest
这样的整个框架引入依赖只是为了下载一个图像:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *imageDate = [NSData dataWithContentsOfURL:imageURL];
UIImage *image = [UIImage imageWithData:imageData];
dispatch_async(dispatch_get_main_queue(), ^{
avatar.image = image;
});
});
这是异步的,所有的善良。但是在几行代码中,您可以编写,理解,修复错误,扩展和维护自己。
但是如果你一直在使用ASIHTTPRequest
,我建议使用这个优秀的项目Here是一个示例代码,有一个指南和a brief description.
另一种方法是您可以使用异步图像视图而不是默认图像视图。检查教程Here以及How? UITableViewCell with UIImageView asynchronously loaded via ASINetworkQueue
答案 1 :(得分:0)
基本上(see example page with all the correct syntax)你做的是
In - (void)requestFinished:您将图像添加到TableView中,就像在普通代码中一样。
答案 2 :(得分:0)
我不确定这正是您要找的,但请查看Apple的lazy image loading example。但他们使用NSURLConnection。
希望有所帮助