博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS多图片下载
阅读量:6082 次
发布时间:2019-06-20

本文共 1615 字,大约阅读时间需要 5 分钟。

1 iOS多图片下载、在cell里面下载图片、做了缓存优化。 2  3 (app.icon是图片地址) 4  5 // 先从内存缓存中取出图片 6     UIImage *image = self.images[app.icon]; 7     if (image) { // 内存中有图片 8         cell.imageView.image = image; 9     } else {  // 内存中没有图片10         // 获得Library/Caches文件夹11         NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];12         // 获得文件名13         NSString *filename = [app.icon lastPathComponent];14         // 计算出文件的全路径15         NSString *file = [cachesPath stringByAppendingPathComponent:filename];16         // 加载沙盒的文件数据17         NSData *data = [NSData dataWithContentsOfFile:file];18         19         if (data) { // 直接利用沙盒中图片20             UIImage *image = [UIImage imageWithData:data];21             cell.imageView.image = image;22             // 存到字典中23             self.images[app.icon] = image;24         } else { // 下载图片25             [self.queue addOperationWithBlock:^{26                 // 下载图片、多线程27                 NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:app.icon]];28                 UIImage *image = [UIImage imageWithData:data];29                 30                 [NSThread sleepForTimeInterval:1.0];31                 32                 // 回到主线程显示图片33                 [[NSOperationQueue mainQueue] addOperationWithBlock:^{34                     cell.imageView.image = image;35                 }];36                 37                 // 存到字典中38                 self.images[app.icon] = image;39                 // 将图片文件数据写入沙盒中40                 [data writeToFile:file atomically:YES];41             }];42      }

 

转载地址:http://ejkwa.baihongyu.com/

你可能感兴趣的文章
Android 中 ListView 分页加载数据
查看>>
oracle启动报错:ORA-00845: MEMORY_TARGET not supported on this system
查看>>
Go方法
查看>>
Dapper丶DapperExtention,以及AbpDapper之间的关系,
查看>>
搞IT的同学们,你们在哪个等级__那些年发过的帖子
查看>>
且谈语音搜索
查看>>
MySQL数据库导入导出常用命令
查看>>
低版本Samba无法挂载
查看>>
Telegraf+Influxdb+Grafana构建监控平台
查看>>
使用excel 展现数据库内容
查看>>
C#方法拓展
查看>>
MySql.Data.dll的版本
查看>>
Linux系统磁盘管理
查看>>
hdu 2191 (多重背包+二进制优化)
查看>>
home.php
查看>>
neo4j---删除关系和节点
查看>>
redis分布式锁redisson
查看>>
什么样的企业可以称之为初创企业?
查看>>
Python爬虫之BeautifulSoup
查看>>
《HTML 5与CSS 3权威指南(第3版·下册)》——第20章 使用选择器在页面中插入内容...
查看>>