#import "RootViewController.h"
#import "RootView.h"
@interface RootViewController () <UITableViewDataSource>
@property (nonatomic, retain) RootView *rootView;
@property (nonatomic, retain) NSArray *bigArray;
@end
@implementation RootViewController
#pragma mark - 设置自定义视图
- (void)loadView
{
self.rootView = [[[RootView alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease];
self.view = _rootView;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"设置";
// 大数组初始化
self.bigArray = @[
@[@"北京", @"上海", @"广州", @"南京", @"道长"],
@[@"daozhang", @"feifan", @"kengshen"],
@[@"guanying", @"gege"],
@[@"minhong", @"ma yun", @"nai cha mei", @"bingbing", @"bbbb", @"yuan you"],
@[@"minhong", @"ma yun", @"nai cha mei", @"bingbing", @"bbbb", @"yuan you"]
];
// 设置数据源(代理)
// 设置当前控制器为表示图的数据源
_rootView.tableView.dataSource = self;
}
#pragma mark - 实现UITableViewDataSource协议方法
#pragma mark 设置有多少分区
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// 大数组元素个数就是分区个数
return _bigArray.count;
}
#pragma mark 设置分区有多少行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// 先根据section获取大数组中的小数组
NSArray *itemArray = _bigArray[section];
// 返回小数组元素个数
return itemArray.count;
}
#pragma mark 设置每行上显示的内容
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
/*
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"songsong"];
// 给cell上设置文字
// 先通过indexPath.section(分组的下标),获取小数组
NSArray *itemArray = _bigArray[indexPath.section];
// 再通过indexPath.row(每一行在组内的下标),获取小数组中的内容
NSString *str = itemArray[indexPath.row];
// 最后,将内容添加到textLabel上
cell.textLabel.text = str;
cell.imageView.image = [UIImage imageNamed:@"cell_head.png"];
cell.detailTextLabel.text = @"Detail Text";
return cell;
*/
// 声明静态字符串变量,保证只初始化一次
static NSString *cellIdetifier = @"cellIdetifier";
// 1.先根据重用标示符去重用队列中查找,是否有可用的cell
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdetifier];
// 2.判断是否有可用的cell
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdetifier] autorelease];
NSLog(@"全新的cell");
}
// 3.使用
cell.textLabel.text = _bigArray[indexPath.section][indexPath.row];
// 4.返回
return cell;
}
#pragma mark - 设置快速索引,内容无所谓,根据数组下标进行跳转
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
{
return @[@"a", @"b", @"c", @"d", @"e"];
}
#pragma mark 设置头标题
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return @"头标题";
}
#pragma mark 设置尾部
//- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
//{
// return @"这里是尾部,填写当前分组的详细描述信息";
//}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - 重写
#pragma mark dealloc
- (void)dealloc
{
[_rootView release];
[_bigArray release];
[super dealloc];
}
tableViewcell
最新推荐文章于 2022-03-03 11:20:32 发布