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

    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];
                }];
         }
  • 相关阅读:
    线性判别分析(线性回归、对数几率回归、线性判别分析和广义线性判别分析)
    Fisher线性判别分析
    隐马尔科夫模型
    EM算法及其推广
    boosting方法
    支持向量机
    拉格朗日函数/对偶(转)
    逻辑斯特回归与最大熵模型
    决策树
    回家
  • 原文地址:https://www.cnblogs.com/jukaiit/p/5571511.html
Copyright © 2011-2022 走看看