iOSbug日志

试了三种方法 列在下面

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

输出结果如下

原文地址:https://www.cnblogs.com/adodo/p/5237180.html