首页 > 其他 > 详细

cell 重用

时间:2016-01-27 09:17:09      阅读:176      评论:0      收藏:0      [点我收藏+]

tableView表格中的cell有重用机制,这是一个很好的东西,可以避免开辟很多的空间内存。但是有时候我们不想让它重用cell,,可以用以下的代码解决。

将这个代码放在:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ }这个函数中执行就好了。

 

 

  • //清楚cell的缓存  
  • NSArray *subviews = [[NSArray alloc] initWithArray:cell.contentView.subviews];  
  • for (UIView *subview in subviews) {  
  •     [subview removeFromSuperview];  
  • }  

例如:

  (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  

  • {  
  •       
  •     static NSString *CellIdentifier = @"Cell";  
  •       
  •     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];  
  •       
  •     if (cell == nil) {  
  •         cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault  
  •                                        reuseIdentifier: CellIdentifier];  
  •     }else{  
  •         //cell中本来就有一个subview,如果是重用cell,则把cell中自己添加的subview清除掉,避免出现重叠问题  
  •         //         [[cell.subviews objectAtIndex:1] removeFromSuperview];  
  •         for (UIView *subView in cell.contentView.subviews)  
  •         {  
  •             [subView removeFromSuperview];  
  •         }  
  •     }  
  •       
  •     if (tableView == couponTableView) {  
  •         //进入优惠券列表  
  •         cell.textLabel.text = [NSString stringWithFormat:@"%@", [couponArry objectAtIndex:indexPath.row]];  
  •     }  
  •     else{  
  •         //进入团购列表  
  •         cell.textLabel.text = [NSString stringWithFormat:@"%@", [groupbuyArry objectAtIndex:indexPath.row]];  
  •     }  
  •       
  •     return cell;  
  • }  

cell 重用

原文:http://www.cnblogs.com/seniormonster/p/5162084.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!