您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页Swift 中的 TableViewCell 多选删除操作

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 中并没有类似 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
}

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务