• 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

     

  • 相关阅读:
    C语言中可变函数参数变量的实现
    Oracle电话面试
    JS和C#方法相互调用
    asp.net 页面从初始化到卸载事件顺序
    解决.NET CF 3.5 Bitmap(Stream)未处理异常问题
    sql2008新增时间类数据类型学习
    c#和Javascript操作同一json对象
    被研究生了
    分形
    跑钱
  • 原文地址:https://www.cnblogs.com/gaozhang12345/p/6057088.html
Copyright © 2020-2023  润新知