首页 > 代码库 > 源码-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