表格视图 - 填充数据

简介: 1. 实现UITableViewDataSource协议 2. 实现协议规定的重要方法 // 通知表格视图要装载的区段数(可选)  numberOfSectionsInTableView:   // 告诉表格视图控制器每个区段应该装载多少单元格或者行数(强制) tableView:num...

1. 实现UITableViewDataSource协议

2. 实现协议规定的重要方法

// 通知表格视图要装载的区段数(可选)

 numberOfSectionsInTableView:

 

// 告诉表格视图控制器每个区段应该装载多少单元格或者行数(强制)

tableView:numberOfRowsInSection:

 

// 返回一个UITableViewCell类的实例,该实例为数据行(强制)

tableView:cellForRowAtIndexPath:

 

3. 将表格视图数据源指向视图

self.myTableView.dataSource = self;

 

完整代码如下:

#import "ViewController.h"

static NSString *TableViewCellIdentifier = @"MyCells";

@interface ViewController () <UITableViewDataSource>

@property (nonatomic, strong) UITableView *myTableView;

@end

@implementation ViewController

// 显示3个区段
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{ 
    if ([tableView isEqual:self.myTableView])
    {
        return 3;
    }
    
    return 0;   
}

//  每个区段要显示多少行   
- (NSInteger)tableView:(UITableView *)tableView
                        numberOfRowsInSection:(NSInteger)section
 {   
    if ([tableView isEqual:self.myTableView])
    {
        switch (section)
        {
            // 第1段有3行
            case 0:
            {
                return 3;
                break;
            }
            // 第2段有5行
            case 1:
            {
                return 5;
                break;
            }
            // 第3段有8行
            case 2:
            {
                return 8;
                break;
            }
        }
    }
    
    return 0; 
}

// 为表格视图没行的label显示区段号和该行在本区段内的行号
- (UITableViewCell *)tableView:(UITableView *)tableView
                    cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = nil;
    
    if ([tableView isEqual:self.myTableView])
    {      
        cell = [tableView dequeueReusableCellWithIdentifier:TableViewCellIdentifier
                  forIndexPath:indexPath];
        
        cell.textLabel.text = [NSString stringWithFormat:
                                 @"Section %ld, Cell %ld",
                                 (long)indexPath.section,
                                 (long)indexPath.row];        
    }
    
    return cell;    
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    self.myTableView =
    [[UITableView alloc] initWithFrame:self.view.bounds
                                 style:UITableViewStylePlain];
    
    [self.myTableView registerClass:[UITableViewCell class]
             forCellReuseIdentifier:TableViewCellIdentifier];
    
    // 将表格视图数据源指向视图
    self.myTableView.dataSource = self;
    
    /* Make sure our table view resizes correctly */
    self.myTableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    
    [self.view addSubview:self.myTableView];  
}

@end

 

目录
相关文章
layUI数据表格可编辑表格单元格值修改之后获取修改前的值
layUI数据表格可编辑表格单元格值修改之后获取修改前的值
397 0
|
3月前
表格数据填充方法
【10月更文挑战第22天】表格数据填充方法
93 2
|
3月前
表格数据填充方法单元格数据填充
表格数据填充方法单元格数据填充【10月更文挑战第22天】
78 2
PyQt5 技术篇-QTableWidget表格组件指定行的隐藏与显示控制实例演示,设置表格指定列的列宽方法
PyQt5 技术篇-QTableWidget表格组件指定行的隐藏与显示控制实例演示,设置表格指定列的列宽方法
733 0
|
SQL 自然语言处理 搜索推荐
|
监控 数据可视化 前端开发
S2 1.0:这个表格 「不简单」
S2 1.0:这个表格 「不简单」
319 0
表格
表格
130 0
Element-ui表格的列隐藏显示会使表格头数据错乱或者表格头样式变大
Element-ui表格的列隐藏显示会使表格头数据错乱或者表格头样式变大
499 0
|
JavaScript
在页面上绘制一张表格,使用 DOM 节点的动态添加和删除向表格中插入数据,点击表格每行后的“删除”超链接
在页面上绘制一张表格,使用 DOM 节点的动态添加和删除向表格中插入数据,点击表格每行后的“删除”超链接
385 0
在页面上绘制一张表格,使用 DOM 节点的动态添加和删除向表格中插入数据,点击表格每行后的“删除”超链接

热门文章

最新文章