tableView的cell复用优化

UITableView是iOS中重要的控件,UITableView继承自UIScrollView,支持垂直滚动,而且性能极好,UITableViewCell可以复用。
cell的重用

static NSString *reuseID = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseID]; 
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:reuseID];
 }

1、给cell做个标记,当cell出屏幕(不用之后)把cell对象,存储在特定标示的缓存池,当tableView加载下一个数据的时候,从缓存池中取出 空闲的标记cell。
2、如果缓存池中有空余的cell,会重新配置这个cell数据。给tableView显示。如果没有空余的cell,就重新创建。
在iOS开发中,如果tableViewCell是变化的,复用cell会引起的视图重叠。
解决方法:

for(UIView *view in [cell subviews]){
    [view removeFromSuperview];
 }
或
static NSString *reuseID = @"cell";
UITableViewCell * cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseID];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,090评论 3 38
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,246评论 4 61
  • 系列文章: TableView优化之高度缓存功能 TableView优化之加载图片的优化逻辑 TableView优...
    老司机Wicky阅读 15,588评论 72 341
  • 想念你时,时间很慢 悄悄流转,绕过指尖微颤 想念你时,天地很小 壶中日月,惟愿与你共看 我看见 群星,明月,你的眼...
    阿墨姑娘阅读 303评论 1 10
  • 本次出书训练营作业:你最喜欢同行中哪几本书,或者你最欣赏几本图书?为什么,说出3-5个理由。这些图书的书名是什么?...
    王小暖LOTTERY阅读 592评论 0 2