UITableView2 - 复用的理解和cell的创建

大笑
+ (id)customCell {
    //对于频繁加载的xib文件,不要使用loadNibName
    /* // 1.
   return [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class])
                                         owner:nil
                                      options:nil] lastObject];
     */
    // 2.  UINib专门用来加载xib文件的类
            // 苹果建议我们,只要是频繁加载使用的xib文件都要应用UINib类来处理
    UINib *nib = [UINib nibWithNibName:NSStringFromClass([self class]) bundle:nil];
   return [[nib instantiateWithOwner:nil options:nil] lastObject];
}

+ (id)customCellWithTableView:(UITableView *)tableView {
    
//    YXCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"identifier"];
//    // 给cell东西 让cell自己加载
//    if (cell == nil) {
//        cell = [YXCustomCell customCell];
//    }
    
    YXCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"identifier"];
    if (cell == nil) {
       // 创建一个cell
    }

    /**
     *  使用注册机制
     xib文件上不需要再去加上重用标示
     */
    // 注册
    // 直接使用类名作为唯一标示符
    /**
     *  1.     注册 cell 使用唯一的标示符
        2.     如果cell 内存复用池中有可以复用的cell,那么就返回可复用的cell
                如果没有可以复用的cell,那么就会创建一个新的cell
     */
//    NSString *identifier = NSStringFromClass([self class]);
    static NSString *identifier = @"YXCustomCell";
    UINib *nib = [UINib nibWithNibName:identifier bundle:nil];
    
    [tableView registerNib:nib forCellReuseIdentifier:identifier];
    // 去内存池中 选取可用的cell
    // 1.   如果有      返回可重用的cell
    // 2.   如果没有会   自动创建一个返回给你用
    return [tableView dequeueReusableCellWithIdentifier:identifier];
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值