一、tableView批量操作方法一:(自定义)
<1>在storyboard中添加imageView控件,用来操作当cell被选中后显示图标
<2>拖线,在自定义控件类中与imageView控件建立连接
<3>在模型类中增加一个控制imageView是否显示的数据。运用MVC思想,M变动,V会跟着变动。不要直接拿到cell修改imageView的显示状态,这样会在cell循环利用中出现混乱
<4>控制器中的代码
控制器中要实现tableView的代理方法
1 // cell被选中或者被取消选中时执行的代理方法 2 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 3 { 4 // 选中cell时的动画,一闪即逝 5 [tableView deselectRowAtIndexPath:indexPath animated:YES]; 6 // 取出选中行的数据 7 ChaosDeal *deal = self.dealArray[indexPath.row]; 8 // 修改数据 9 deal.checked = !deal.isChecked;10 // 刷新数据11 [tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];12 }
<5>点击删除按钮进行批量删除操作,进行类似删除操作时,不要遍历集合进行删除,之前自己搞C#就容易犯这种错误,数组长度随时都在改变,会报错。
二、系统自带的批量操作,自己没有写代码实现,直接将老师的代码拿出来做了笔记
<1>程序加载后要设置进入编辑模式允许多选操作
<2>点击按钮设置开启关闭编辑模式
<3>点击删除按钮进行批量删除