美文网首页
UITableViewCell重用机制

UITableViewCell重用机制

作者: 奋斗吧程序员 | 来源:发表于2019-04-27 10:10 被阅读0次

    //重用  

    6.0以后dequeueReusableCellWithIdentifier: forIndexPath:indexPath 取代了

    dequeueReusableCellWithIdentifier  并少写了!cell代码块  但是要和register并用

    [tb  registerClass:[TableViewCellclass] forCellReuseIdentifier:identifier];

    TableViewCell*cell = [tableView dequeueReusableCellWithIdentifier:identifierforIndexPath:indexPath];

    //不重用  浪费资源次之

    NSString*iden = [NSStringstringWithFormat:@"ide%ld",(long)indexPath.row];

        TableViewCell*cell = [tableView dequeueReusableCellWithIdentifier:iden];

        if(!cell) {

            cell = [[TableViewCellalloc] initWithStyle:UITableViewCellStyleSubtitlereuseIdentifier:iden];

        }

    .m文件需初始化initWithStyle:  重写layoutSubviews

    //不重用   最浪费资源 :cellForRowAtIndexPath

        TableViewCell*cell = [tableView cellForRowAtIndexPath:indexPath];

        if(!cell) {

            cell = [[TableViewCellalloc] initWithStyle:UITableViewCellStyleSubtitlereuseIdentifier:iden];

        }

    //nib创建cell自适应行高   条件只限于一个label. numberOfLines = 0

    [tb registerNib:[UINibnibWithNibName:@"TableViewCell"bundle:nil] forCellReuseIdentifier:identifier];

    TableViewCell*cell = [tableView dequeueReusableCellWithIdentifier:identifierforIndexPath:indexPath];

    tb.rowHeight= UITableViewAutomaticDimension;

    tb.estimatedRowHeight= 80; 

    cell.m文件无需任何操作

    相关文章

      网友评论

          本文标题:UITableViewCell重用机制

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