前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UITableViewCell的重用机制原理

UITableViewCell的重用机制原理

作者头像
赵哥窟
发布2018-11-07 14:36:57
1.8K0
发布2018-11-07 14:36:57
举报
文章被收录于专栏:日常技术分享日常技术分享
重用机制原理

每当有一个cell从屏幕消失,就将其放到缓存池中,如果有新的cell出现,就去缓存池中取,如果缓存池中没有,再创建。

以下是网络上找的资料

1.UITableView内部定义了两种数据结构,NSMutableArray *visiableCells和NSMutableDictionary *reuseTableCells;其中visiableCells保存屏幕上可见的cell,而reuseTableCells保存可重用的cells. 2.在tableView显示之初,reuseTableCells为空。那么tableView dequeueReusableCellWithIdentifier:CellIdentifier返回nil。开始的cell都是通过[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]来创建,而且cellForRowAtIndexPath只是调用最大显示cell数的次数。

但是查看UITableView.h,只找到了visibleCells,没有找到reuseTableCells。 而且visibleCells也不是NSMutableArray 类型。

代码语言:javascript
复制
@property (nonatomic, readonly) NSArray<__kindof UITableViewCell *> *visibleCells;

这有一个疑问,当我们滑动屏幕时,屏幕上可见的Cell是变化的。那为什么要申明一个NSArray而不申明NSMutableArray?

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.10.19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 重用机制原理
  • 以下是网络上找的资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档