学习Tableview 笔记; 显示数据,必须设置数据源
UITableView *tableView = [[UITableView alloc]init];
tableView.dataSource = self;
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
这个方法设置分组,不实现默认1组
必须实现2个方法
1> - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
设置每组多少行行数
2> - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
设置显示的数据,*重要:数据优化在此方法实现
staticNSString *ID =@"重复使用cell的标识";
UITableViewCell *cell = [tableViewdequeueReusableCellWithIdentifier:ID];
if (cell ==nil){
cell = [[UITableViewCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:ID];
}
}
---------------------------------
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
设置组标题- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section;
设置组底部描述以上是tableView 数据源的常用方法.
下面是tableview 接受用户处理的方法
前提需要给tableView设置代理:
tableview.delegate = self;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
选中某行的操作
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
取消选中
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
这个方法是左滑删除功能,还有添加
if (editingStyle ==UITableViewCellEditingStyleDelete) { //提交的是删除操作
//1 先删除数据,再执行下面这个方法
[self.tableViewdeleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationTop];
}
}
先记录到这