zoukankan      html  css  js  c++  java
  • iOS多图片下载

     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      }
  • 相关阅读:
    切割窗口url
    软键盘弹出底部被顶上去
    C语言字符串处理标准库函数的源码(转)
    slapd配置文件详述
    OPENLDAP安装配置方法
    const成员函数
    OPENLDAP概述
    当前比较有名的Xml数据库
    『转』使用 Scalable Vector Graphics 为 ASP.NET 构建基于 XML 的灵活、轻量的图像
    SqlCommand_ExecuteNonQuery 方法返回值为1的解释
  • 原文地址:https://www.cnblogs.com/fengmin/p/5612975.html
Copyright © 2011-2022 走看看