- 首页 > 睿知 > it技术 > >
Swift|Swift 中的 TableViewCell 多选删除操作
在 OC 中,UITableViewCell 的多选操作如下:
- (IBAction)removeSelectedCells {
NSMutableArray *deleteDatas = [NSMutableArray array];
for (NSIndexPath *indexPath in >self.tableView.indexPathsForSelectedRows) {
[deleteDatas addObject:self.datas[indexPath.row]];
}[self.datas removeObjectsInArray:deleteDatas];
[self.tableView reloadData];
}
一定要将选中删除的行号保存起来,统一同时删除,防止出现数组下标错误的情况发生。
【Swift|Swift 中的 TableViewCell 多选删除操作】但是 Swift 中并没有类似 removeObjectsInArray
的方法,只能逐个删除。解决方法:通过 repeat while
方法来进行类似 OC 的操作。
if let _ = tableView.indexPathsForSelectedRows {
repeat {
if let indexPath = tableView.indexPathForSelectedRow {
datas.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .automatic)
}
} while tableView.indexPathsForSelectedRows != nil
}
推荐阅读