当前位置: 首页 > 编程日记 > 正文

知识点回顾-简单的TableView单组数据展示/多组数据展示

  1 拖入TableView到UIView中,连线DataSource
  2 
  3 1.实现数据源方法
  4 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  5 {
  6     return ;
  7 }
  8 
  9 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
 10 {
 11 return ;
 12 }
 13 
 14 2.根据指定的的cell样式创建cell
 15 UITableViewCellStyleDefault
 16 UITableViewCellStyleValue1
 17 UITableViewCellStyleValue2
 18 UITableViewCellStyleSubtitle
 19 
 20 3.解析字典—>字典转模型—>取出indexPath位置对应的XMGWine模型
 21 
 22 4.设置数据(用创建出来的cell对象直接点出里面子控件设置)
 23 
 24 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
 25 {
 26     // 创建一个UITableViewCellStyleSubtitle样式的cell
 27     UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nil];
 28 
 29     // 取出indexPath位置对应的XMGWine模型
 30     XMGWine *wine = self.wineArray[indexPath.row];
 31 
 32     // 设置数据
 33     cell.imageView.image = [UIImage imageNamed:wine.image];
 34     cell.textLabel.text = wine.name;
 35     cell.detailTextLabel.text = [NSString stringWithFormat:@"¥%@", wine.money];
 36     cell.detailTextLabel.textColor = [UIColor orangeColor];
 37     //cell最右边的显示样式('>')
 38     cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
 39 
 40     return cell;
 41 }
 42 
 43 多组数据展示
 44 跟单组数据展示一样,但是数组里面又有数组,需要逐层转模型
 45 /********************************************************
 46  1> plist解析:
 47  以后遇到像这种复杂的plist,一层一层的往下解析.
 48  最终的目的就是将所有的字典转成模型.
 49  如果plist中字典在一个数组中,将来转出来的模型也放在一个数组中.
 50  也就是将字典数组转成模型数组.
 51 
 52  2> plist的好处:方便管理数据
 53  *********************************************************/
 54 
 55 设置数据需要先拿出组模型,再拿出行模型
 56 
 57 #pragma mark - <UITableViewDataSource>
 58 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
 59 {
 60     return self.carGroups.count;
 61 }
 62 
 63 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
 64 {
 65     XMGCarGroup *carGroup = self.carGroups[section];
 66     return carGroup.cars.count;
 67 }
 68 
 69 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
 70 {
 71     UITableViewCell *cell = [[UITableViewCell alloc] init];
 72 
 73     // 设置cell右边的指示样式
 74     cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
 75 
 76     // 取出indexPath位置对应的XMGCar模型
 77     XMGCarGroup *carGroup = self.carGroups[indexPath.section];
 78     XMGCar *car = carGroup.cars[indexPath.row];
 79 
 80     cell.textLabel.text = car.name;
 81     cell.imageView.image = [UIImage imageNamed:car.icon];
 82     return cell;
 83 }
 84 
 85 /**
 86  *  告诉tableView第section组的头部标题文字
 87  */
 88 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
 89 {
 90     XMGCarGroup *carGroup = self.carGroups[section];
 91     return carGroup.header;
 92 }
 93 
 94 /**
 95  *  告诉tableView第section组的尾部标题文字
 96  */
 97 - (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
 98 {
 99     XMGCarGroup *carGroup = self.carGroups[section];
100     return carGroup.footer;
101 }
102 
103 @implementation XMGCarGroup
104 + (instancetype)carGroupWithDict:(NSDictionary *)dict
105 {
106     XMGCarGroup *group = [[self alloc] init];
107     group.header = dict[@"header"];
108     group.footer = dict[@"footer"];
109 
110     // 将字典数组(装着车的字典) -> 模型数据(装着车的模型)
111     NSMutableArray *cars = [NSMutableArray array];
112     for (NSDictionary *carDict in dict[@"cars"]) {
113         [cars addObject:[XMGCar carWithDict:carDict]];
114     }
115     group.cars = cars;
116 
117     return group;
118 }

make by-LJW

转载于:https://www.cnblogs.com/ljwiOS/p/5243988.html

相关文章:

2022-2028年中国多肽药物市场研究及前瞻分析报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国多肽药物行业市场行业相关概述、中国多肽药物行业市场行业运行环境、分析了中国多肽药物行…

第一次写,测试下

2015年5月11日转载于:https://blog.51cto.com/tdfly/1650342

【转】ubuntu下实用的三款录屏软件

转发链接&#xff1a;https://www.cnblogs.com/cherishry/p/5710612.html 适用于日常办公&#xff01;

学习如何在AutoCad土木工程中绘制建筑设计图

学习如何在AutoCad中绘制建筑设计图从平面图到AutoCad土木工程中的整栋建筑 你会学到: 如何绘制房屋地图 如何绘制建筑设计 如何从AutoCad打印或出图 AutoCaD使用 AutoCaD命令使用 如何在2D Autocad中构建家庭或房屋地图(完整教程视频包括家庭地图、窗户、门、室内家具或物品、…

图像在计算机中通过什么方式表示_万物皆可“计算机视觉”

本文为 AI 研习社编译的技术博客&#xff0c;原标题 &#xff1a;How to do everything in Computer Vision作者 | George Seif翻译 | chesc、Disillusion、Ophria校对 | 邓普斯•杰弗 审核 | Lam-W 整理 | 菠萝妹原文链接&#xff1a;https://towardsdatascience.com/how-to-d…

2022-2028年中国电池制造行业市场供需规模及投资前景预测报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国电池制造行业市场行业相关概述、中国电池制造行业市场行业运行环境、分析了中国电池制造行…

Ubuntu14.04 64bit 编译安装nginx1.7+php5.4+mysql5.6

我的操作系统是Ubuntu14.04&#xff0c;其它linux系统的操作流程类似。 主要安装的软件是nginx1.7php5.4mysql5.6 1. 创建必要目录 sudo mkdir ~/setup sudo mkdir /opt/software sudo chmod 777 /opt/software 2. 下载必要软件 cd ~/Downloadswget http://am1.php.net/distrib…

QGC注释消息提示框

消息提示框&#xff1a;有时显示时覆盖想要看的界面&#xff0c;可注释&#xff01;

学习编写Unity计算着色器 Learn to Write Unity Compute Shaders

利用图形处理器的力量 你会学到: 如何编写Unity计算着色器 如何在后处理图像过滤器中使用ComputeShaders 如何使用ComputeShaders进行粒子效果和群集 如何使用StructuredBuffers在计算着色器和实例表面着色器之间共享数据 使用计算机处理器处理流体模拟 使用计算机开发者创建物…

[重磅] 让HTML5达到原生的体验 系列之中的一个 避免切页白屏

非常多人都想、甚至曾使用HTML5开发跨平台App。而且想达到原生App的体验。最后的结果都是无奈的放弃。HTML5貌似美好&#xff0c;但坑太多。想做到原生App的体验差点儿不可为。 也曾有过著名的facebook放弃HTML5改用原生做App的事件。可是坑多不怕&#xff0c;就怕没人填。 本系…

测试中如何管理外包质量_如何从测试自动化中实现价值

如果几年前&#xff0c;质量管理部门都试图通过ROI指标来证明对测试的投资是合理的&#xff0c;那么现在情况发生了变化&#xff0c;是时候重新审视这个问题了。当实施连续测试&#xff0c;并且每天在不同的环境下以不同的角色运行多次测试自动化时&#xff0c;由于测量方法与以…

2022-2028年中国碘矿行业竞争格局分析及市场需求前景报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国碘矿行业市场行业相关概述、中国碘矿行业市场行业运行环境、分析了中国碘矿行业市场行业的…

centos下axel安装与使用

一、获得Axel32位系统&#xff1a;wget -c http://www.centoscn.com/tool/axel-2.4-1.el5.rf.i386.rpm rpm -ivh axel-2.4-1.el5.rf.i386.rpm #安装64位系统&#xff1a;wget -c http://www.centoscn.com/tool/axel-2.4-1.el5.rf.x86_64.rpm rpm -ivh axel-2.4-1.el5.rf.x86_64…

Qt编译PX4源码,参考如下进行配置

参考链接&#xff1a; https://blog.csdn.net/qq_38768959/article/details/106822491如单独打开一个的话可以选择打开仿真编译套件&#xff0c;如需下载则选择下载套件&#xff01;

Unity三维游戏开发C#编程大师班 Masterclass In C# Programing Unity 3D Game Development FPS

本课程采用现代游戏开发(Unity 2021)的最新内容和最新技术 学习任何东西的最好方法是以一种真正有趣的方式去做&#xff0c;这就是这门课程的来源。如果你想了解你看到的这些不可思议的游戏是如何制作的&#xff0c;没有比这门课更好的起点了。我们确保本课程具备一切你需要的…

Integer.toHexString(b & 0xff)理解以及& 0xff什么意思

首先toHexString传的参数应该是int类型32位,此处传的是byte类型8位,所以前面需要补24个0。然后& 0xff 就是把前面24个0去掉只要后8位。toHexString(b & 0xff)相当于做了一次位的与运算,将前24位字符省略,将后8位保留。是两个十六进制的数,每个f用二进制表示是1111,所以占四位(bit),两个f()占八位(bit),八位(bit)也就是一个字节(byte).这个方法是把字节(转换成了int)以16进制的方式显示。我的理解是这样,如有不对欢迎指正!

DIV+CSS规范命名大全集合

网页制作中规范使用DIVCSS命名规则&#xff0c;可以改善优化功效特别是团队合作时候可以提供合作制作效率&#xff0c;具体DIV CSS命名规则CSS命名大全内容篇。 常用DIVCSS命名大全集合&#xff0c;即CSS命名规则 DIV CSS命名目录命名规则说明重要CSS命名CSS命名参考表命名技巧…

Java中的位运算符号详解(&、|、^、~、<<、>>、>>>)

(&&)在运算时,如果(&&)前面的表达式的结果为false,则(&&)后面的表达式就不会执行运算。(||)在运算时,如果(||)前面的表达式的结果为true,则(||)后面的表达式就不会执行运算。(&)在运算时,不论(&)前面的表达式的结果是否为false,(&)后面的表达式都会执行运算;(|)在运算时,不论(|)前面的表达式的结果是否为true,(|)后面的表达式都会执行运算;在Java中,(&)不仅可以作为位运算符号,同样也可以作为逻辑与符号,要注意:(||)并不是位运算符号,不可以参与位运算!

unity 200.8m yoy_专场分享会|大会最新Unity、中创文旅专场预告来啦!

北京国际游戏创新大会将于9月25日-27日分别在中华世纪坛发布厅、中华世纪坛剧场、京都信苑国际厅、京都信苑欧式厅、京都信苑圣马可厅、京都信苑第三会议室&#xff0c;6大场馆举办129场游戏行业主题分享&#xff0c;之前小编已经给大家介绍过腾讯、微软、完美世界、巨量引擎等…

2022-2028年中国碲化镉薄膜太阳能电池行业发展现状分析及投资前景趋势报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国碲化镉薄膜太阳能电池行业市场行业相关概述、中国碲化镉薄膜太阳能电池行业市场行业运行环…

从高耦合到低耦合到底有多远?

一切都是拥抱变化&#xff0c;反过来说&#xff0c;如果没有变化或者需求很稳定&#xff0c;那么一切就是过度设计。所以&#xff0c;一切都要看情况&#xff0c;回到了马克思主义的辩证学。呵呵。无论书还是博客&#xff0c; 耦合这个词已被无数人说烂&#xff0c;任何一位程序…

写论文查论文查参考文献

知网翻译助手&#xff1a;网页知网翻译助手 百度学术&#xff1a;百度学术—导出参考文献 IEEE&#xff1a;IEEE 添加上标&#xff1a;如下图 添加后&#xff0c;如下图&#xff1a; 添加完成&#xff01; WPS软件里面的公式编辑器添加空格为CtrlAltSpace即可&#xff01; …

C# Unity编程终极指南

使用现代Unity开发技术创建一个有趣的2D平台&#xff0c;掌握Unity引擎和C#编程 你会学到: 学习C#的基础知识。从变量、“如果”语句到创建面向对象的结构。没有编程经验是必要的。 创建一个可玩的角色(征服者)&#xff0c;具有动画&#xff0c;向任何方向移动&#xff0c;跳跃…

咪咕盒子链接服务器失败_云服务器怎样备份数据库备份

云服务器怎样备份数据库备份&#xff1f;云服务器数据库的备份很重要&#xff0c;而手动操作会比较麻烦。以西部数码云服务器为例&#xff0c;可以实现 Ms Sqlserver数据库定时自动备份&#xff0c;并存至指定存储空间。打开链接 下载&#xff0c;下载后无需安装&#xff0c;点…

在Ubuntu下构建Bullet以及执行Bullet的样例程序

在Ubuntu下构建Bullet以及执行Bullet的样例程序1、找到Bullet的下载页&#xff0c;地址是&#xff1a;https://code.google.com/p/bullet/downloads/list2、下载Bullet。找到.tgz格式进行下载。我下载的版本号是bullet-2.82-r2704。 3、假设没有安装cmake&#xff0c;那么使用s…

2022-2028年中国第五代移动通信技术(5G)市场研究及前瞻分析报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国第五代移动通信技术&#xff08;5G&#xff09;行业市场行业相关概述、中国第五代移动通信…

机房合作—我是组长

五一期间开始机房合作&#xff0c;到现在一个多星期了。我&#xff0c;蕾蕾&#xff0c;亮亮一组&#xff0c;我担任组长一职。在着手准备项目开始之前&#xff0c;我们听取了各位师父的一些建议&#xff0c;也算是给我们指明一下方向。第一天晚上&#xff0c;我召开了我们项目…

Linux环境下命令行截图【转】

参考链接&#xff1a;命令行截图 将剪切板内容粘贴出来&#xff1a;CtrlV

用Unity和Playmaker创建一个限时游戏 Creating a Time Limit game with Unity and Playmaker

本课程结束时&#xff0c;您将拥有在Unity中使用Playmaker创建游戏的工具 你会学到: playmaker状态的基础以及它们如何与动作一起工作。 安装悬停车&#xff0c;可以在竞技场内行驶。 不同力度的射击地雷驱动中心机。 设置坏地雷和电源盒。 设置主时光机机制。 影响时间机器的…

app.vue 跳转页面_独立站如何提高产品页面转化呢?

在网上商城中&#xff0c;你的产品页面也是销售页面。顾客进入产品页面&#xff0c;然后根据你提供的产品描述内容&#xff0c;再决定是否立马购买&#xff0c;或者以后再考虑购买。以下是小跨收集的可以用于提高你独立站产品描述页面转化的几个要素。1.撰写激动人心的产品标题…