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;
    }
  • 相关阅读:
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    数论12——浅谈指数与对数
    数论11——大组合数
  • 原文地址:https://www.cnblogs.com/liuwj/p/6433643.html
Copyright © 2011-2022 走看看