UITableView加载自定义可重用cell的两种方法的区别(dequeueReusableCellWithIdentifier: forIndexPath:)

1.原始方法

假如UITableViewCell是我们自定义的cell

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identify];

这个方法需要以下代码:

if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identify];
    }

2.iOS6以后出现的方法

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

这个方法在cell为空时会自己创建cell,不需要以下代码:

if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identify];
    }

但是在创建tableView的时候需要告诉编译器按照什么样子创建cell,所以要给tableView注册自定义的cell,不注册就会崩溃:

[tableView registerClass:[自定义cell的类名 class] forCellReuseIdentifier:@"customCell"];

另外

UICollectionView加载自定义可重用的cell只有一种方法:

UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identify forIndexPath:indexPath];

类似UITableView的第二种方法,在创建UICollectionView的时候需要注册自定义的cell,不注册会崩溃。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,312评论 4 61
  • 2016你都做了什么,我回头看我感觉这一年可是相当充实啊,外出写生,去了北京、安徽、杭州、苏州、江西、南京、上海,...
    芳华遗世阅读 1,482评论 1 2
  • 在我看来,喜欢民谣的人都是真心喜欢民谣,都是标准的文艺青年,他们都有着认清世界后的顽强天真。 最初接触和喜欢的民谣...
    daisy妞儿阅读 3,945评论 2 2
  • 葡萄口味的星冰乐真的超级好喝!因为一个犹豫喜欢的裙子被别人买走了,因为一味的过于追寻帖子最后都没有找到的那两家咖啡...
    悠然然酱阅读 1,761评论 0 0
  • 七夕将至,许多人在等待着属于他们自己的缘分,可他们无法预知缘分会在何时降临。 有个男孩叫洋洋,有个女孩叫菲...
    邪恶煎饼卷阅读 3,730评论 0 0