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;
}

 

转载于:https://www.cnblogs.com/liuwj/p/6433643.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值