首页 > 其他 > 详细

创建cell的几种方式

时间:2016-03-28 01:55:07      阅读:276      评论:0      收藏:0      [点我收藏+]

方式一  注册cell  -> 无需为cell绑定标识符 [使用UIViewController完成!]

l  1> static NSString * const ID = @"cell"; // 全局ID变量

l  2> 在视图加载完成后使用tableView进行注册cell

- (void)viewDidLoad {

    [super viewDidLoad];

 

    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:ID];

}

l  3> 在数据源方法cellForRowAtIndexPath:中直接从缓存池中取cell即可!

 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

// 如果是注册cell.那么下面从tableView缓存池中取cell两种的方式方式都可用!

// 获取cell 方式一

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];

// 获取cell 方式二

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID forIndexPath:indexPath];  

    cell.textLabel.text = [NSString stringWithFormat:@"cell - %zd",indexPath.row];

 

    return cell;

}

 

 

方式二  为cell绑定标识符  -> storyboard中进行设置

l  1> 在storyboard中为cell绑定标识符

 

 

 

l  2> 在数据源方法cellForRowAtIndexPath:中直接从缓存池中取cell即可!

 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

 

    // 无需判断,直接获取即可!

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];

    cell.textLabel.text = [NSString stringWithFormat:@"cell - %zd",indexPath.row];

 

    return cell;

}

 

 

 

方式三  在数据源方法cellForRowAtIndexPath:中直接设置!

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

 

    static NSString *ID = @"cell";

 

    // 如果是创建局部变量的ID.那么下面这种从缓存池中取cell的方式会使程序崩溃! // 程序崩溃代码! 错误!

//    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID forIndexPath:indexPath];

    // 程序正确!

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];

    if (cell == nil) {

        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];

    }

    cell.textLabel.text = [NSString stringWithFormat:@"cell - %zd",indexPath.row];

 

    return cell;

}

创建cell的几种方式

原文:http://www.cnblogs.com/jiayongqiang/p/5327565.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!