美文网首页
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