在介绍UITableView使用中常见的问题之前,我们先简单介绍一下UITableView的相关概念。UITableView是UIKit框架库中的一个很重要的类,它被用来实现竖向排列的表格,例如微信中的消息列表和好友列表等;也被用来实现feed流,例如微博中的动态。
UITableView的Delegate和DataSource
要想使用UItableView,那么数据源和代理是不可或缺的。数据源顾名思义就是为tableView提供数据的对象,它负责告诉UItableVIew对象有几个section,每个section中有几个cell以及每个cell中要显示什么内容等;而UITableView的代理方法的主要功能是在tableView被执行了相应的操作后,对应的代理方法将这一消息传递给使用方(一般情况下是对应的VC),让其来进行一系列的后续动作。 代理方法和数据源方法在语法上没有什么区别,都是使用OC中协议的语法实现的,一个vc要使用tableView就要遵守UITableViewDelegate和UITableViewDataSource这两个协议,因而要实现其中的方法。下面看下具体都有哪些方法。
//UITableViewDelegate常用方法
// Display customization
//一个cell将要被展示时调用
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath;
//一个section的header将要被展示时调用
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section API_AVAIL