美文网首页
UITableViewCell在复用时,第一次reloadDat

UITableViewCell在复用时,第一次reloadDat

作者: 新生的光明 | 来源:发表于2018-05-21 10:27 被阅读0次

    UITableViewCell如何复用

    1.最原始的写法

    static NSString *cellName = @"cellNameId";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellName];
        if (!cell){
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellName];
        }
    

    2.也可以先注册cell,之后,就不用创建了

    [mTabl registerClass:[UITableViewCell class] forCellReuseIdentifier:@"cellNameId"];
    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellNameId" forIndexPath:indexPath];
    

    这里为了测试具体创建了几个cell,采用第一种方式.


    image.png

    红色框为tabl的位置

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellName];
        if (!cell){
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellName];
    //在cell被创建时,输出一下
           NSLog(@"+++++++++++++++++++++++++++%zd***%@",indexPath.row,cell);
        }
    

    如此设置之后,屏幕上最大可展示的cell为5个

    1,设定cell的个数为0

      不会创建cell
    

    2,设定cell的个数为3

    image.png

    cell会被创建3个,每一个cell地址都不一样,创建3次
    此时,屏幕上并没有展示全最大

    2,设定cell的个数为8


    image.png

    cell会被创建8个,每一个cell地址都不一样,创建8次
    此时,屏幕上已展示全最多的cell

    2,设定cell的个数为10

    image.png

    cell会被创建10个,每一个cell地址都不一样,创建10次

    2,设定cell的个数为100


    image.png

    cell会被创建10个,每一个cell地址都不一样,创建10次

    因此,cell存在复用时,tabl并不是仅仅创建屏幕上能展示的cell的最大数.

    当cell的个数大于9时,最少创建10个cell,最多创建屏幕能展示下的最大数
    当cell的个数小于9时,有几个创建几个.
    

    相关文章

      网友评论

          本文标题:UITableViewCell在复用时,第一次reloadDat

          本文链接:https://www.haomeiwen.com/subject/muffjftx.html