首页 > 代码库 > Tableview 优化Cell的复用机制01
Tableview 优化Cell的复用机制01
#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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。