1.最开始工作时配置tableView数据基本流程是:数据数组-数据展示,这期间没有根据数组做任何的配置,这样导致了在tableView代理方法里面产生了大量的代码:

  • (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    if (locationType == LocationFail || locationType == LocationIng) { if (self.locationModel.communityArray.count > 0) { return 3; }else{ return 2; } }else if (locationType == LocationSuccess){ return self.communityArray.count; }else{ return self.searchArray.count; } } 像上面方法里面的if判断在接下来的几个代理方法里面基本都要重写一遍,十分耗费精力,还容易出错。

2.后面根据数组中模型的种类(即会有多少种单元格),来配置单元格

self.cellIdentifiers = [[NSMutableArray alloc] init];

  • (void)addCellIdentifier { [self.cellIdentifiers removeAllObjects]; if ([self.bannerArray count]>0) { [self.cellIdentifiers addObject:@"CFHomeBannerCell"]; } if ([self.newsArray count] >0) { [self.cellIdentifiers addObject:@"CFNewsCell"]; } if ([self.productArray count] > 0) { [self.cellIdentifiers addObject:@"CFNewHomefouncionCell"]; } if ([self.hotArray count] > 0) { [self.cellIdentifiers addObject:@"CFNewHomeHotCell"]; } }

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { NSString * identifier = self.cellIdentifiers[indexPath.section]; if ( [identifier isEqualToString:@"CFHomeBannerCell"] ) { return 150; }else if ([identifier isEqualToString:@"CFNewsCell"]) { return 44; }else if ([identifier isEqualToString:@"CFNewHomefouncionCell"]) { return 130; } return 0.1; }

这种根据cell来配置tableView更加简约,如果采用数据模型来配置的话,就有点乱了

让UITableView数据处理更轻便相关推荐

  1. 云数据库 GaussDB(for Influx) 解密第十一期:让智能电网中时序数据处理更高效

    摘要:GaussDB(for Influx)是一款基于计算存储分离架构,完全兼容 InfluxDB 生态的云原生时序数据库. 本文分享自华为云社区<云数据库 GaussDB(for Influx ...

  2. TC Games全新1.6.0版本上线,划重点:适配直播,吃鸡优化,手机端更轻便更好用

    TC Games电脑玩手机游戏助手1.6.0版本全新上线了,这个版本做了大量调整和优化,一起来看看吧: 1.新增:Ctrl+Alt+P锁定/解锁当前游戏键位,切换任何app仍然使用该键位不变(仅会员) ...

  3. 离散度计算公式 python_被多种离散化场景困扰?8种python技巧!让数据处理更简单...

    前言 python数据处理与分析学习过程中,需要有这样的一种意识,即元"为什么选择了python而不是其他?"既然选择了python,那么在实际应用中,它到底哪里不一样?大家说的方 ...

  4. cut out数据增强_被多种离散化场景困扰?8种python技巧!让数据处理更简单

    前言 python数据处理与分析学习过程中,需要有这样的一种意识,即元"为什么选择了python而不是其他?"既然选择了python,那么在实际应用中,它到底哪里不一样?大家说的方 ...

  5. 让 PyTorch 更轻便,这款深度学习框架你值得拥有!在 GitHub 上斩获 6.6K 星

    白交 发自 凹非寺  量子位 报道 | 公众号 QbitAI 一直以来,PyTorch就以简单又好用的特点,广受AI研究者的喜爱. 但是,一旦任务复杂化,就可能会发生一系列错误,花费的时间更长. 于是 ...

  6. 让PyTorch更轻便,这款深度学习框架你值得拥有!在GitHub上斩获6.6k星

    白交 发自 凹非寺  量子位 报道 | 公众号 QbitAI 一直以来,PyTorch就以简单又好用的特点,广受AI研究者的喜爱. 但是,一旦任务复杂化,就可能会发生一系列错误,花费的时间更长. 于是 ...

  7. python管理技巧_8个经典的Python列表技巧,让你数据处理更简单!

    列表(List)是你使用Python过程中接触最为频繁的数据结构,也是功能最为强大的几种数据结构之一.Python列表非常的万能且蕴含着许多隐藏技巧,下面我们就来探索一些常用的列表技巧. 1 列表元素 ...

  8. 数据中心的未来:低成本、更清洁、更高效

    虽然云计算是传统上将许多设备连接到互联网的可靠又具成本效益的手段,但物联网和移动计算的不断增长给网络带宽带来了压力. 数据中心将继续在信息的摄取.计算.存储和管理中发挥至关重要的作用,预计到2025年 ...

  9. 2019 年,Hadoop 还是数据处理的可选方案吗?

    来自:网络大数据 目前云驱动数据处理和分析呈上升趋势,我们在本文中来分析下,Apache Hadoop 在 2019 年是否还是一个可选方案. 从我第一次使用 Apache Hadoop 生态系统开始 ...

  10. 2019后工作机会会更少_在2019年更多地参与和更少地命令

    2019后工作机会会更少 "说容易,要努力." 那是我非常欣赏的南方表达. 当人们在制定2019年决议时,这一点尤其重要. 任何形式的变更(无论是个人变更还是组织变更)都可以很容易 ...

最新文章

  1. SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos
  2. 报告:100家AI初创公司榜单 这五大趋势不得不看!
  3. router-link-active 和 router-link-exact-active router-link-active
  4. [转]JQuery.Ajax之错误调试帮助信息
  5. mysql 实例启动利用binlog恢复_mysql利用binlog进行数据恢复
  6. 串口通信 校验码_一文读懂S7-200 SMART自由口通信!
  7. C语言入门——内功心法
  8. 计算机基础知识ip地址,计算机基础知识练习题
  9. php redius,Linux下Redius的安装与部署详解
  10. 大数据学习笔记:距离度量和相似度度量
  11. Linux学习笔记之(2)~linux目录树概览和说明
  12. string字符串比较
  13. Windows读取NXP MiFare Ultralight C类型NFC卡片的信息
  14. STM32串口DMA方式发送数据
  15. C语言:fflush()的用法以及缓冲区的概念
  16. Android 商品详情页
  17. 云搜网盘助手域名更换公告
  18. 告别无聊的log:让你的Logcat 输出多彩日志
  19. 今日头条 ANR 优化实践系列分享 - 实例剖析集锦
  20. 炒股杠杆放大多少合适

热门文章

  1. 微信小程序 +第三方 直播-IM在线聊天
  2. 建立网站需要什么条件_教育学校网站建设有什么作用?学校建立网站为的是什么?...
  3. mysql安装zip怎么安装可视化_Mysql zip压缩版安装步骤总结
  4. CSS从大图片上截取小图标的使用
  5. No package ‘libusb‘ found
  6. 对目录下所有库文件进行rpath更改操作的SHELL脚本
  7. 可恨的KYLIN OS:动不动就不支持老机
  8. SVN替换图标后依然显示老图标的BUG
  9. 文字处理技术:吾知道他们听不懂,为何讲了一把WP布局
  10. 编程基本功:如何判断两个线段有重叠?