关于UITableViewCell

     一个表视图通过cell对象来绘制可见的单元格,只要这些单元格是可见的就会将他们放入缓存中。Cell继承自UITableViewCell类。如果视图控制器实现了UITabelViewDataSource协议,通过实现tabelView:cellForRowAtIndexPath:方法,数据源会为表视图提供所有cell对象,即单元格。单元格采取重用的操作机制,大大增加了执行效率,如果一个cell对象可以重用(非常常见的情况)你可以在为它设置一个重用标示符(通常是一个字符串)。具体实现是这样的,它并不创建所有行,比如你的表格数据有100行,但是屏幕上的空间只够显示10行,那么tableView只会创建10个左右的cell,当你滚动时,有些行会被遮住,这些被遮住的行就会被回收放入它的回收空间,而将要出现的行会首先在回收空间查找是否有空闲的cell,如果找到就使用,这样避免了创建cell带来的开销,节省空间和时间。这时的cell里的内容是旧的,你必需更新它的内容为将要出现的行的内容。

     在程序执行中,表视图以列队的形式将它们在内部存储下来。当表视图向数据源请求一个cell对象去显示的时候,数据源通过向表视图发送一个dequeueReusableCellWithIdentifier:消息,并传递一个重用标示符,来使用内部列队中的cell对象。数据源会在返回一个cell对象之前设置cell的内容和一些特殊的属性。这个被重用的cell对象可以使性能大大提高,因为它可以避免重复创建。


实例代码如下:


<pre name="code" class="objc"> //设置重用标识符
    static NSString *CellIdentifier = @"Cell";

    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier ];
    
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }

    
    switch (indexPath.row) {
        case 0:
            cell.textLabel.text=@"渝开发  000514";
            break;
        case 1:
            cell.textLabel.text=@"我的第一桶金";
            break;
        default:
            break;
    }

    
    // Configure the cell...
    
    return cell;
}


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值