ios初识UITableView及简单用法二(模型数据)

//
// 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及简单用法二(模型数据)的更多相关文章
- ios初识UITableView及简单用法一
// // ViewController.m // ZQRTableViewTest // // Created by zzqqrr on 17/8/24. // Copyright (c) 2017 ...
- IOS SWIFT UITableView 实现简单微博列表
// // Weibo.swift // UITableViewCellExample // // Created by XUYAN on 15/8/15. // Copyright (c) 2015 ...
- AJ学IOS 之微博项目实战(8)用AFNetworking和SDWebImage简单加载微博数据
AJ分享,必须精品 一:效果 没有图文混排,也没有复杂的UI,仅仅是简单的显示出微博数据,主要介绍AFNetworking和SDWebImage的简单用法 二:加载数据AFNetworking AFN ...
- iOS开发UI篇—Quartz2D简单使用(二)
iOS开发UI篇—Quartz2D简单使用(二) 一.画文字 代码: // // YYtextview.m // 04-写文字 // // Created by 孔医己 on 14-6-10. // ...
- iOS block-base 动画简单用法+关键帧动画设置线性变化速度的问题
本文转载至 http://www.tuicool.com/articles/aANBF3m 时间 2014-12-07 20:13:37 segmentfault-博客原文 http://segm ...
- iOS知识点、面试题 之二
最近面试,与大家分享一下,分三文给大家: 当然Xcode新版本区别,以及iOS新特性 Xcode8 和iOS 10 在之前文章有发过,感兴趣的可以查阅: http://www.cnblogs.com/ ...
- iOS基础 - UITableView的数据源(dataSource)和代理(delegate)
UITableView的数据源(dataSource)和代理(delegate) UITableView需要一个数据源(dataSource)来显示数据,UITableView会向数据源查询一共有多少 ...
- iOS开发——UI进阶篇(一)UITableView,索引条,汽车数据展示案例
一.什么是UITableView 在iOS中,要实现展示列表数据,最常用的做法就是使用UITableViewUITableView继承自UIScrollView,因此支持垂直滚动,而且性能极佳 UIT ...
- iOS开发UI篇—简单介绍静态单元格的使用
iOS开发UI篇—简单介绍静态单元格的使用 一.实现效果与说明 说明:观察上面的展示效果,可以发现整个界面是由一个tableview来展示的,上面的数据都是固定的,且几乎不会改变. 要完成上面的效果, ...
随机推荐
- hdu-2865-polya+dp+矩阵+euler函数
Birthday Toy Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- 原生JS的地区二级联动,很好理解的逻辑
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- PAT 1035 Password
1035 Password (20 分) To prepare for PAT, the judge sometimes has to generate random passwords for ...
- 杂记-格式化Date默认格式,日期加一天,jstl判断字符类型,ajax模拟from表单后台跳转页面,jstl访问数据库并在页面显示
1.格式化Date默认格式 String str="Sun Oct 08 22:36:45 CST 2017"; SimpleDateFormat sdf = new Simple ...
- 15. 3Sum C++
参考资料: https://leetcode.com/problems/3sum/discuss/7402/Share-my-AC-C%2B%2B-solution-around-50ms-O(N*N ...
- [luogu P3382] 三分法
[luogu P3382] 三分法 题目描述 如题,给出一个N次函数,保证在范围[l,r]内存在一点x,使得[l,x]上单调增,[x,r]上单调减.试求出x的值. 输入输出格式 输入格式: 第一行一次 ...
- 十六、JAVA基础(堆和栈)
一.堆和栈 堆和栈都是JAVA中的存储结构,也就是说,都是内存中存放数据的地方. 1.堆:(存放由new创建的对象和数组) 引用类型的变量,内存分配一般在堆上或者常量池(字符串常量,基本数据类型常量) ...
- Oracle12c CDB架构图
- Test22455
- Win10系列:JavaScript访问文件和文件夹
在实际开发中经常会遇到访问文件的情况,因此学习与文件有关的操作对程序开发很有帮助,关于文件操作的一些基本技术,在前面章节中有专门基于C#语言的详细讲解,本节主要介绍如何使用HTML5和JavaScri ...