在iPhone服务器的UITableView中异步显示图像

在iPhone服务器的UITableView中异步显示图像,iphone,xcode,asynchronous,nsurlcache,Iphone,Xcode,Asynchronous,Nsurlcache,当我尝试使用NSURLUIImage image=[UIImage-imageWithData:[NSData-dataWithContentsOfURL:[NSURL-URLWithString:@]在UITableView中获取图像时http://mysite.com/mobile/abc.jpg]]]; 我的应用程序被冻结,直到加载图像。此外,当我滚动表格时,它会再次从服务器获取图像,并在一段时间内被卡住。 我知道这是因为从服务器同步下载图像。 是否有任何解决方案,使我可以从服务器异步下载

当我尝试使用NSURL
UIImage image=[UIImage-imageWithData:[NSData-dataWithContentsOfURL:[NSURL-URLWithString:@]在UITableView中获取图像时http://mysite.com/mobile/abc.jpg]]];

我的应用程序被冻结,直到加载图像。此外,当我滚动表格时,它会再次从服务器获取图像,并在一段时间内被卡住。
我知道这是因为从服务器同步下载图像。
是否有任何解决方案,使我可以从服务器异步下载图像,并将其存储在本地或缓存中,以便在表格滚动时不会再次从服务器获取图像


谢谢

您可以创建自己的类,该类利用
NSURLConnection
和各种异步方法在后台加载图像,然后通过回调在单元格中显示图像


然而,有一些优秀的库可以完全按照您所描述的那样工作。这是我唯一使用并推荐的一个库

请查阅Enomego。它的工作原理与UIImage(和缓存图像)一样但允许您从HTTP异步加载。

感谢Suhail的快速回复。我将查看HJCache库。如果您提供一些代码,告诉我如何将其与表视图和缓存图像集成,以使表滚动更加平滑,这将非常有帮助。网页上有一个标题为“如何使用HJCache”的部分介绍了如何使用HJCache为了让它工作,你需要做的一切。还有一个演示应用程序,在Github页面上运行得非常顺利:谢谢Keller的回复。我明天会检查这个,但从文档来看,它可以完成我的工作。谢谢Keller,你太棒了。