你的位置:首页 > 软件开发 > 操作系统 > iOS多图片下载

iOS多图片下载

发布时间:2016-06-09 00:00:12
iOS多图片下载、在cell里面下载图片、做了缓存优化。(app.icon是图片地址) // 先从内存缓存中取出图片 UIImage *image = self.images[app.icon]; if (image) { // 内存中有图片 cell.imageVi ...

 

iOS多图片下载、在cell里面下载图片、做了缓存优化

(app.icon是图片地址)
  // 先从内存缓存中取出图片  UIImage *image = self.images[app.icon];  if (image) { // 内存中有图片    cell.imageView.image = image;  } else { // 内存中没有图片    // 获得Library/Caches文件夹    NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];    // 获得文件名    NSString *filename = [app.icon lastPathComponent];    // 计算出文件的全路径    NSString *file = [cachesPath stringByAppendingPathComponent:filename];    // 加载沙盒的文件数据    NSData *data = [NSData dataWithContentsOfFile:file];        if (data) { // 直接利用沙盒中图片      UIImage *image = [UIImage imageWithData:data];      cell.imageView.image = image;      // 存到字典中      self.images[app.icon] = image;    } else { // 下载图片      [self.queue addOperationWithBlock:^{        // 下载图片、多线程        NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:app.icon]];        UIImage *image = [UIImage imageWithData:data];                [NSThread sleepForTimeInterval:1.0];                // 回到主线程显示图片        [[NSOperationQueue mainQueue] addOperationWithBlock:^{          cell.imageView.image = image;        }];                // 存到字典中        self.images[app.icon] = image;        // 将图片文件数据写入沙盒中        [data writeToFile:file atomically:YES];      }];   }

原标题:iOS多图片下载

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。