ViewController UITableView

//

//  ViewController.m

//  CarDemo

//

//  Created by GuoYule on 15/1/20.

//  Copyright (c) 2015年 GuoYule. All rights reserved.

//

#import "ViewController.h"

#import "CarGroup.h"

#import "GYLcar.h"

@interface
ViewController ()<UITableViewDataSource>

/**

*  车品牌数据

*/

@property(nonatomic,strong)
NSArray * carGroups;

@end

@implementation ViewController

- (void)viewDidLoad {

[super
viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}

-(BOOL)prefersStatusBarHidden

{

return
YES;

}

-(NSArray *)carGroups

{

if (_carGroups ==
nil) {

// 初始化

// 1.获得plist的全路径

NSString *path = [[NSBundle
mainBundle] pathForResource:@"cars_total.plist"
ofType:nil];

// 2.加载数组

NSArray *dictArray = [NSArray
arrayWithContentsOfFile:path];

// 3.将dictArray里面的所有字典转成模型对象,放到新的数组中

NSMutableArray *carGroupsArray = [NSMutableArray
array];

for (NSDictionary *dict
in dictArray) {

// 3.1.创建模型对象

CarGroup *group = [CarGroup
groupWithDict:dict];

// 3.2.添加模型对象到数组中

[carGroupsArray
addObject:group];

}

// 4.赋值

_carGroups = carGroupsArray;

}

return
_carGroups;

}

#pragma mark -数据源模型

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

{

return
self.carGroups.count;

}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

CarGroup * group =
self.carGroups[section];

return group.cars.count;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath
*)indexPath

{

//定义一个循环标识

static NSString * ID =
@"car";

//2.从缓存池中取出可循环利用的cell

UITableViewCell * cell = [tableView
dequeueReusableCellWithIdentifier:ID];

//3.
如果缓存池中没有那么就要新建一个 并且要赋予标识

if (cell == nil)

{

cell = [[UITableViewCell
alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:ID];

}

//4.设置数据

CarGroup * group =
self.carGroups[indexPath.section];

GYLcar * car = group.cars[indexPath.row];

cell.imageView.image = [UIImage
imageNamed:car.icon];

cell.textLabel.text = car.name;

return  cell;

}

/**

*  第section组显示的头部标题

*/

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section

{

CarGroup * group =
self.carGroups[section];

return group.title;

}

/**

*  返回回右边索引跳显示的字符串数据

*/

-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{

return [self.carGroups
valueForKeyPath:@"title"];
//这是KVC可以间接取值

//为什么不用[self.carGroups valueForKey:@"title"]
因为这个不会间接取值

}

@end

时间: 2024-10-09 04:06:33

ViewController UITableView的相关文章

UITableView 常用方法(转自CSDN)

一.概述 UITableView是iOS开发比不可少也是最重要的一个控件类.可以说任何一个做iOS开发的人都必须熟练使用和掌握它.本文主要就是提供一个学习使用TableView的指南. 要说UITableView必须要介绍他的几个亲戚:UITableViewDelegate,UITableViewDataSource,UITableViewCell.其中前两个是TableView遵守的两个protocol(别告诉我你不知道啥叫protocol哦).然后本文会再列出TableView最常用最重要的

UItableview里面的header、footer

#import "ViewController.h" #import "MJRefresh.h" @interface ViewController () { UITableView *table; NSArray * arr; UIView * headerView; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; arr [email protect

自定义UITableview 两种方法

第一: #import "ViewController.h" @interface ViewController () { UITableView *tableview; } @property(nonatomic,strong) NSMutableDictionary *names; @property(nonatomic,strong)NSArray *keys; @end @implementation ViewController -(NSInteger)numberOfSec

iOS 实现QQ界面

应师傅要求编写个QQ界面来不吝赐教下我的代码问题. 编写个QQ界面.有三个组,每一个组有人.并显示在线不在线. 先看一下效果图 这里省了事由于我的图片仅仅用了一张.假设要依据人的不同设置,仅仅要在cell里面改一下即可了: 主要是实现点击上面分组展开内容,再点击收回去. 废话不多说,上菜: 我们先来构造数据: NSArray * InitArray [email protected][ @{ @"Name":@"朋友", @"Group":@&q

iOS开发笔记 - 网络篇

计算机网络基础 ??计算机网络是多台独立自主的计算机互联而成的系统的总称,最初建立计算机网络的目的是实现信息传递和资源共享. ??如果说计算机是第二次世界大战的产物,那么计算机网络则是美苏冷战的产物.20世纪60年代初期,美国国防部领导的ARPA提出研究一种崭新的.能够适应现代战争的.生存性很强的通信系统并藉此来应对苏联核攻击的威胁,这个决定促使了分组交换网的诞生,也奠定今天计算机网络的原型,这是计算机网络发展史上第一个里程碑式的事件. ??第二个里程碑式的事件是20世纪80年代初,国际标准化组

search搜索

@interface ViewController ()<UITableViewDataSource,UITableViewDelegate,UISearchBarDelegate,UISearchResultsUpdating>@property(nonatomic,strong) NSMutableArray * datalist;@property(nonatomic,strong) NSMutableArray * searchList;@property(nonatomic,stro

UISearchController用法

import "ViewController.h" @interface ViewController ()<UITableViewDelegate,UITableViewDataSource,UISearchBarDelegate,UISearchResultsUpdating> @property (strong,nonatomic) NSMutableArray  *dataList; @property (strong,nonatomic) NSMutableArr

UI3_UITableView

// // AppDelegate.m // UI3_UITableView // // Created by zhangxueming on 15/7/13. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #import "AppDelegate.h" #import "ViewController.h" @interface AppDelegate () @end @implementa

UI4_UITableViewEdit

// // AppDelegate.m // UI4_UITableViewEdit // // Created by zhangxueming on 15/7/13. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #import "AppDelegate.h" #import "ViewController.h" @interface AppDelegate () @end @implem