iOSbug日志 - tableviewcell复用
Posted 阿杜的技术博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOSbug日志 - tableviewcell复用相关的知识,希望对你有一定的参考价值。
试了三种方法 列在下面
新建cell 文件
包括.h .m .xib
然后在xib文件加上一个标签,目的是复用这个cell
一,在要调用的listcell中初始化一个类方法
//+(ListCell *)cellwithTableView:(UITableView *)tablaeView;
//+(ListCell *)cellwithTableView:(UITableView *)tablaeView
//{
// static NSString *identifier = @"ListCell";
// ListCell *cell = [tablaeView dequeueReusableCellWithIdentifier:identifier];
// if (!cell) {
// cell = [[[NSBundle mainBundle]loadNibNamed:@"ListCell" owner:self options:nil]lastObject];
// }
//
// return cell;
//
//}
二,直接在tableviewcontroller中注册nib
- (void)viewDidLoad {
[super viewDidLoad];
[self.tableView registerNib:[UINib nibWithNibName:@"ListCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"ListCell"];
// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
ListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ListCell"];
三,用registerClass:[ListCell class]但使用之前必须初始化 cell
-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
self = [[[NSBundle mainBundle]loadNibNamed:@"ListCell" owner:self options:nil]lastObject];
}
return self;
}
三种方法结果一样
ps:注意,awakefromnib方法在每一次调用cell的时候都会用
输出结果如下
以上是关于iOSbug日志 - tableviewcell复用的主要内容,如果未能解决你的问题,请参考以下文章
解析和斯威夫特。从 Parse 关系中设置 tableViewCell 附件类型