码迷,mamicode.com
首页 > 其他好文 > 详细

Tableview 优化Cell的复用机制01

时间:2016-11-12 19:09:27      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:tin   deque   bounds   height   path   section   str   dexp   cell的复用   

#import "ViewController.h"

@interface ViewController ()<UITableViewDataSource>

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    UITableView *tab=[[UITableView alloc]init];
    tab.frame=self.view.bounds;
    tab.dataSource=self;
    tab.rowHeight=70;//行高
    [self.view addSubview:tab];
}
#pragma mark-<UITableViewDataSource>数据源
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return 100;
}
//每当有cell进入屏幕中就会调用
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
//    UITableViewCell *cellaaa=[[UITableViewCell alloc]init];
////    cellaaa.textLabel.text=@"666";
////    %d->int
////    %zd->NSInteger
//    cellaaa.textLabel.text=[NSString stringWithFormat:@"6666---%zd",indexPath.row];
//    NSLog(@"%p-%zd",cellaaa,indexPath.row);
    
//    1.根据cell的标识去缓存池中查找可循环利用的Cell
    UITableViewCell *cellaaa=[tableView dequeueReusableCellWithIdentifier:@"a"];
//    2.如果cell为nil(缓存池找不到对应的cell)
    if(cellaaa==nil){
        cellaaa=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"a"];
//        cellaaa.textLabel.text=[NSString stringWithFormat:@"testdta---%zd",indexPath.row];
    }
//    3.覆盖数据
    cellaaa.textLabel.text=[NSString stringWithFormat:@"testdata---%zd",indexPath.row];
    
    return cellaaa;
}
@end

 技术分享

 

Tableview 优化Cell的复用机制01

标签:tin   deque   bounds   height   path   section   str   dexp   cell的复用   

原文地址:http://www.cnblogs.com/gaozhang12345/p/6057088.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!