//
// ViewController.m
// ZQRTableViewTest
//
// Created by zzqqrr on 17/8/24.
// Copyright (c) 2017年 zzqqrr. All rights reserved.
// #import "ViewController.h"
#import "ZQRCarGroup.h" @interface ViewController () <UITableViewDataSource>
@property (weak,nonatomic) IBOutlet UITableView *tableView;
@property (nonatomic,strong) NSArray *carGroups;
@end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
//设置数据源
self.tableView.dataSource=self;
} - (NSArray *)carGroups
{
if(_carGroups==nil){
ZQRCarGroup *model1=[[ZQRCarGroup alloc] init];
model1.title=@"哈哈";
model1.desc=@"呵呵";
model1.cars=@[@"第一组第一行"]; ZQRCarGroup *model2=[[ZQRCarGroup alloc] init];
model2.title=@"哈哈";
model2.desc=@"呵呵";
model2.cars=@[@"第二组第一行",@"第二组第二行"]; ZQRCarGroup *model3=[[ZQRCarGroup alloc] init];
model3.title=@"哈哈";
model3.desc=@"呵呵";
model3.cars=@[@"第三组第一行",@"第三组第二行",@"第三组第三行"];
_carGroups=@[model1,model2,model3];
}
return _carGroups;
} /** 设置多少组组 */
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return self.carGroups.count;
}
/** 指定组中的行 */
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
ZQRCarGroup *group=self.carGroups[section];
return group.cars.count;
} /** 每一组显示的内容 */
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
ZQRCarGroup *group=self.carGroups[indexPath.section];
NSString *strCar=group.cars[indexPath.row];
cell.textLabel.text=strCar;
return cell;
}
/** 头部文字 */
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
ZQRCarGroup *model=self.carGroups[section];
return model.title;
}
/** 尾部文字 */
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
{
ZQRCarGroup *model=self.carGroups[section];
return model.desc;
}
@end

模型

//
// ZQRCarGroup.h
//
//
// Created by zzqqrr on 17/8/25.
//
// #import <Foundation/Foundation.h> @interface ZQRCarGroup : NSObject
/**
*头部标题
*/
@property (nonatomic,copy) NSString *title;
/**
*尾部的描述
*/
@property (nonatomic,copy) NSString *desc;
/**
*所有的信息列表
*/
@property (nonatomic,strong) NSArray *cars;
@end
//
// ZQRCarGroup.m
//
//
// Created by zzqqrr on 17/8/25.
//
// #import "ZQRCarGroup.h" @interface ZQRCarGroup() @end @implementation ZQRCarGroup @end

ios初识UITableView及简单用法二(模型数据)的更多相关文章

  1. ios初识UITableView及简单用法一

    // // ViewController.m // ZQRTableViewTest // // Created by zzqqrr on 17/8/24. // Copyright (c) 2017 ...

  2. IOS SWIFT UITableView 实现简单微博列表

    // // Weibo.swift // UITableViewCellExample // // Created by XUYAN on 15/8/15. // Copyright (c) 2015 ...

  3. AJ学IOS 之微博项目实战(8)用AFNetworking和SDWebImage简单加载微博数据

    AJ分享,必须精品 一:效果 没有图文混排,也没有复杂的UI,仅仅是简单的显示出微博数据,主要介绍AFNetworking和SDWebImage的简单用法 二:加载数据AFNetworking AFN ...

  4. iOS开发UI篇—Quartz2D简单使用(二)

    iOS开发UI篇—Quartz2D简单使用(二) 一.画文字 代码: // // YYtextview.m // 04-写文字 // // Created by 孔医己 on 14-6-10. // ...

  5. iOS block-base 动画简单用法+关键帧动画设置线性变化速度的问题

    本文转载至 http://www.tuicool.com/articles/aANBF3m 时间 2014-12-07 20:13:37  segmentfault-博客原文  http://segm ...

  6. iOS知识点、面试题 之二

    最近面试,与大家分享一下,分三文给大家: 当然Xcode新版本区别,以及iOS新特性 Xcode8 和iOS 10 在之前文章有发过,感兴趣的可以查阅: http://www.cnblogs.com/ ...

  7. iOS基础 - UITableView的数据源(dataSource)和代理(delegate)

    UITableView的数据源(dataSource)和代理(delegate) UITableView需要一个数据源(dataSource)来显示数据,UITableView会向数据源查询一共有多少 ...

  8. iOS开发——UI进阶篇(一)UITableView,索引条,汽车数据展示案例

    一.什么是UITableView 在iOS中,要实现展示列表数据,最常用的做法就是使用UITableViewUITableView继承自UIScrollView,因此支持垂直滚动,而且性能极佳 UIT ...

  9. iOS开发UI篇—简单介绍静态单元格的使用

    iOS开发UI篇—简单介绍静态单元格的使用 一.实现效果与说明 说明:观察上面的展示效果,可以发现整个界面是由一个tableview来展示的,上面的数据都是固定的,且几乎不会改变. 要完成上面的效果, ...

随机推荐

  1. python+requests接口自动化测试框架实例详解教程

    1.首先,我们先来理一下思路. 正常的接口测试流程是什么? 脑海里的反应是不是这样的: 确定测试接口的工具 —> 配置需要的接口参数 —> 进行测试 —> 检查测试结果(有的需要数据 ...

  2. Artem and Array CodeForces - 442C (贪心)

    大意: 给定序列$a$, 每次任选$a_i$删除, 得分$min(a_{i-1},a_{i+1})$(无前驱后继时不得分), 求最大得分. 若一个数$x$的两边都比$x$大直接将$x$删除, 最后剩余 ...

  3. bzoj2342: [Shoi2011]双倍回文 pam

    题解:先建pam,然后在fail树上dfs,从上到下的链如果有当前长度最远回文串的一半,那么更新答案 //#pragma GCC optimize(2) //#pragma GCC optimize( ...

  4. 创建springboot的聚合工程(二)

    前篇已经成功创建了springboot的聚合工程并成功访问,下面就要开始子工程木块之间的调用: springboot项目的特点,一个工程下面的类必须要放在启动类下面的子目录下面,否则,启动的时候会报错 ...

  5. Session重点整理

    首先明确几个概念 (1)JSessionID:通过tomcat运行的Java项目,为新用户生成的随机字符串.(应该是tomcat设置的,我没试过别的服务器,如有错误请指正) (2)Session请求( ...

  6. centos命令行系列之centos6防火墙的关闭以及开启

    输入:cat /etc/issue   查看版本 (一)通过service命令 注:service命令开启以及关闭防火墙为即时生效,下次重启机器的时候会自动复原 查看防火墙状态:service ipt ...

  7. maven打包上传到本地中央库

    pom文件中添加插件如下 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins< ...

  8. web service简述,通俗易懂----转

    一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intrane ...

  9. Python 自然语言处理笔记(一)

    一. NLTK的几个常用函数 1. Concordance 实例如下: >>> text1.concordance("monstrous") Displaying ...

  10. 尚学堂java答案解析 第三章

    本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改 一.选择题 1.A 2.BD 解析:switch的的判断表达式的数据类型:byte  short   int  ch ...