博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS:多个单元格的删除(方法二):
阅读量:5068 次
发布时间:2019-06-12

本文共 1474 字,大约阅读时间需要 4 分钟。

  前面介绍了万无一失的方法一,这里介绍删除单元格的第二种方式,通过删除单元格中的内容的方式进行操作:(但是这种情况有一个小的弊端,由于单元格重用机制,如果单元格内容一样时,标记的存在会造成误删)

删除前

 

删除后:

  分析如下:(如果每一个单元格内容都不一样)采取删除单元格内容的方式是比较简单的方式,那么如何实现多个单元格的删除呢?

首先,定义两个必要的可变的数组,一个是用来存储初始化原始数据的,另一个是用来存储选中单元格后,从里面取出来的数据;

其次,通过数据源的方法将原始数据显示在表格中,同时通过代理的方法,即选中单元格的处理,来给选中的单元格添加指引视图(标记),并将首先选中的单元格内容取出存到数组中,(二次选中则将其取消标记并从数组中删除);

最后,原始数据数组将所有选中的单元格内容全部删除,与此同时,数据选中存储数组也直接清空数组,然后,将表格进行整体刷新即可。

 

代码如下:

1 #import "ViewController.h"  2 #define NUM 20  3   4 @interface ViewController ()
5 @property (weak, nonatomic) IBOutlet UITableView *tableView; 6 @property (strong,nonatomic)NSMutableArray *products; //原始的数据库存 7 @property (strong,nonatomic)NSMutableArray *productStore; //选中的数据库存 8 - (IBAction)deleteButtonClicked:(UIBarButtonItem *)sender; 9 10 @end 11 12 @implementation ViewController 13 - (IBAction)deleteButtonClicked:(UIBarButtonItem *)sender 14 { 15 //1.将选中的所有产品从原始库存中删除 16 [self.productStore enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 17 [self.products removeObject:obj]; 18 }]; 19 20 //2.清空选中的数据库存 21 [self.productStore removeAllObjects]; 22 23 //3.整体刷新表格 24 [self.tableView reloadData]; 25 } 26 - (void)viewDidLoad { 27 [super viewDidLoad]; 28 //初始化 29 self.products = [NSMutableArray arrayWithCapacity:NUM]; 30 self.productStore = [NSMutableArray arrayWithCapacity:NUM]; 31 for(int i=0; i

 

转载于:https://www.cnblogs.com/XYQ-208910/p/4792813.html

你可能感兴趣的文章
synchronized
查看>>
迭代器和生成器
查看>>
codevs 1080 线段树练习
查看>>
[No0000195]NoSQL还是SQL?这一篇讲清楚
查看>>
IOS开发UI篇--UITableView的自定义布局==xib布局
查看>>
【深度学习】caffe 中的一些参数介绍
查看>>
Python-Web框架的本质
查看>>
Unrecognized Windows Sockets error: 0: JVM_Bind 异常解决办法
查看>>
QML学习笔记之一
查看>>
7NiuYun云存储UploadPicture
查看>>
Window 的引导过程
查看>>
python与 Ajax跨域请求
查看>>
App右上角数字
查看>>
从.NET中委托写法的演变谈开去(上):委托与匿名方法
查看>>
小算法
查看>>
201521123024 《java程序设计》 第12周学习总结
查看>>
贪吃蛇游戏改进
查看>>
新作《ASP.NET MVC 5框架揭秘》正式出版
查看>>
在WPF中使用Caliburn.Micro搭建MEF插件化开发框架
查看>>
IdentityServer4-用EF配置Client(一)
查看>>