如何使用Cache目录进行映像

时间:2016-04-26 07:35:58

标签: ios objective-c uitableview cache-control

我在tableview中显示图片。我希望如果已经下载了图像,则不要再次下载。如何使用缓存目录实现此方案。

3 个答案:

答案 0 :(得分:2)

看一下NSCache,它的工作方式就像一个可变的字典,但它是安全的。

  

NSCache对象在几个方面与其他可变集合不同:

     

NSCache类包含各种自动删除策略   确保它不会占用太多的系统内存。该   如果需要内存,系统会自动执行这些策略   其他应用。调用时,这些策略会删除一些项目   从缓存中,最小化其内存占用。

     

您可以从缓存中添加,删除和查询缓存中的项目   线程,而不必自己锁定缓存。

     

与NSMutableDictionary对象不同,缓存不会复制密钥   放入它的对象。

     

这些功能对于NSCache类是必需的,因为缓存可能   决定在幕后异步自动变异   如果它被调用以释放内存。

您可以使用网址和图片本身作为值来修改图片 Documentation
NSHipster发帖。

答案 1 :(得分:0)

您应该使用SDWebImage。这是很棒的图书馆。从给定的github链接下载,只需将SDWEbImage文件夹拖放到项目中即可。

然后在您的班级中导入UIImageView+WebCache.h,例如

#import "UIImageView+WebCache.h"

然后在cellforRowAtIndexpath

 [cell.myImageView sd_setImageWithURL:finalImageUrl];

您可以阅读github页面上的说明,了解有关此库的更多详细信息

希望这会有所帮助:)

答案 2 :(得分:0)