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的时候都会用 

输出结果如下

posted @ 2016-03-03 07:34  small-elephant_A-Do  阅读(317)  评论(0编辑  收藏  举报