首页 > 代码库 > 源码-0204-UITableView02
源码-0204-UITableView02
//// ViewController.m// 05-UITableView01-多组数据#import "ViewController.h"#import "XMGCar.h"#import "XMGCarGroup.h"@interface ViewController () <UITableViewDataSource>@property (weak, nonatomic) IBOutlet UITableView *tableView;/** 所有组数据 */@property (nonatomic, strong) NSArray *groups;@end@implementation ViewController- (NSArray *)groups{ if (_groups == nil) { // 创建模型数据 XMGCarGroup *group0 = [[XMGCarGroup alloc] init]; group0.header = @"德系"; group0.footer = @"德系车666"; group0.cars = @[ [XMGCar carWithName:@"奥迪" icon:@"m_9_100"], [XMGCar carWithName:@"宝马" icon:@"m_3_100"], [XMGCar carWithName:@"奔驰" icon:@"m_2_100"] ]; XMGCarGroup *group1 = [[XMGCarGroup alloc] init]; group1.header = @"日系"; group1.footer = @"日系车666777"; group1.cars = @[ [XMGCar carWithName:@"奥迪1" icon:@"m_9_100"], [XMGCar carWithName:@"奔驰1" icon:@"m_2_100"], [XMGCar carWithName:@"奥迪1" icon:@"m_9_100"], [XMGCar carWithName:@"奔驰1" icon:@"m_2_100"], [XMGCar carWithName:@"奥迪1" icon:@"m_9_100"], [XMGCar carWithName:@"奔驰1" icon:@"m_2_100"], [XMGCar carWithName:@"奥迪1" icon:@"m_9_100"], [XMGCar carWithName:@"奔驰1" icon:@"m_2_100"], [XMGCar carWithName:@"奥迪1" icon:@"m_9_100"], [XMGCar carWithName:@"奔驰1" icon:@"m_2_100"], [XMGCar carWithName:@"奥迪1" icon:@"m_9_100"], [XMGCar carWithName:@"奔驰1" icon:@"m_2_100"] ]; XMGCarGroup *group2 = [[XMGCarGroup alloc] init]; group2.header = @"日系1"; group2.footer = @"日系车999999"; group2.cars = @[ [XMGCar carWithName:@"奥迪2" icon:@"m_9_100"], [XMGCar carWithName:@"奔驰2" icon:@"m_2_100"] ]; _groups = @[group0, group1, group2]; } return _groups;}- (void)viewDidLoad { [super viewDidLoad]; // 设置数据源 self.tableView.dataSource = self;}#pragma mark - <UITableViewDataSource>/** * 告诉tableView第section组有多少行 */- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ XMGCarGroup *group = self.groups[section]; return group.cars.count;}/** * 告诉tableView一共有多少组数据 */- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return self.groups.count;}/** * 告诉tableView第indexPath行显示怎样的cell */- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell *cell = [[UITableViewCell alloc] init]; XMGCarGroup *group = self.groups[indexPath.section]; XMGCar *car = group.cars[indexPath.row]; cell.textLabel.text = car.name; cell.imageView.image = [UIImage imageNamed:car.icon]; return cell;}/** * 告诉tableView第section组的头部标题 */- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ XMGCarGroup *group = self.groups[section]; return group.header;}/** * 告诉tableView第section组的尾部标题 */- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section{ XMGCarGroup *group = self.groups[section]; return group.footer;}@end
//// XMGCar.h// 05-UITableView01-多组数据#import <Foundation/Foundation.h>@interface XMGCar : NSObject/** 名字 */@property (nonatomic, strong) NSString *name;/** 图标 */@property (nonatomic, strong) NSString *icon;+ (instancetype)carWithName:(NSString *)name icon:(NSString *)icon;@end
//// XMGCar.m// 05-UITableView01-多组数据#import "XMGCar.h"@implementation XMGCar+ (instancetype)carWithName:(NSString *)name icon:(NSString *)icon{ XMGCar *car = [[self alloc] init]; car.name = name; car.icon = icon; return car;}@end
//// XMGCarGroup.h// 05-UITableView01-多组数据#import <Foundation/Foundation.h>@interface XMGCarGroup : NSObject/** 头部标题 */@property (nonatomic, strong) NSString *header;/** 尾部标题 */@property (nonatomic, strong) NSString *footer;/** 这组所有的车辆模型(这个数组里面存放的都是XMGCar模型) */@property (nonatomic, strong) NSArray *cars;@end
//// XMGCarGroup.m// 05-UITableView01-多组数据#import "XMGCarGroup.h"@implementation XMGCarGroup@end
源码-0204-UITableView02
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。