zoukankan      html  css  js  c++  java
  • IOS tableView的性能优化(缓存池)

    使用缓存池(标识类型)

    1.通过 一个 标识 去 缓存池 中寻找可循环得用的cell

    2.如果缓存池找不到可循环得用的cell:创建一个新的cell(给cell贴个标识)

    3.给cell设置新的数据

    本地数据性能优化(实例)

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        
        //static 修饰局部变量:可以保证局部变量只分配一次存储空间(只初化一次)
        static NSString *ID=@"hero";
        
        //1.通过一个标识去缓存池中寻找可循环利用的cell
        UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:ID];
        
        //2.如果没有可循环利用的cell(创建新的cell)
        if(cell==0)
        {
        cell= [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];
            NSLog(@"-----缓存池找不到cell--%d",indexPath.row);
        }
        //3.给cel设置新的数据
        //取出模型
         MJHero *hero=self.hero[indexPath.row];
                               
        //设置cell的数据
        cell.textLabel.text=hero.name;
        cell.detailTextLabel.text=hero.intro;
        cell.imageView.image=[UIImage imageNamed:hero.icon];
        
        //设置cell右边指示器的类型
        cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;
        
        return cell;
    }
  • 相关阅读:
    poi 导出文件
    获取哪一年 周一的所有日期
    线程池配置
    mybatis基于唯一索引插入或更新
    mongoTemplate关联查询
    cas认证机制
    SpringBoot服务
    HashMap的底层实现
    maven仓库提示“Downloading: http://repo.maven.apache.org/maven2/”
    Tomcat安装SSL证书
  • 原文地址:https://www.cnblogs.com/liuwj/p/6433643.html
Copyright © 2011-2022 走看看