美文网首页
UITableView03-批量操作

UITableView03-批量操作

作者: Coder007 | 来源:发表于2016-04-18 17:55 被阅读60次

    批量操作

    • 在开发过程中,我们经常会遇到表格需要批量操作的。
      • 比如说:购物车

    实现思路

    • 使用临时数组

      • 增加一个没有显示出来的图片,在数据模型中定义一个属性,标识是否选中
      • 然后在选中的时候修改模型属性的值,来控制图片的显示和隐藏
      • 然后刷新数据
      • 点击删除,遍历所有的数据源,使用一个临时数组将需要删除的数据放进去,然后调用removeObjectsInArray:方法删除需要删除的数据
      • 然后刷新数据
    • 使用固定的数组

      • 定义两个数组,一个是数据源dataArr,一个是保存需要删除的数据deleArr
      • 在tableView:cellForRowAtIndexPath:方法中,如果deleArr中包含某一行的模型,就让标记显示出来,表明选中
      • 在tableView: didSelectRowAtIndexPath:方法中,判断deleArr数组中是否有选中的模型,如果有,就从数组中删除,没有就添加进去,然后刷新表格
      • 删除的时候只需要将deleArr数组中的数据从dataArr中删除,然后刷新表格,然后清空deleArr数组即可
    • 使用系统自带的批量操作
      • 在viewDidLoad方法中添加:
    // 允许在编辑模式进行多选操作
    self.tableView.allowsMultipleSelectionDuringEditing = YES;
    
    - 实现了上面这一句代码的时候,当tableView进入编辑模式,就可以看到在每一行的左边,出现了多选的按钮
    - 选中需要删除的行之后,点击删除按钮
    - 删除的逻辑是:
        - 获取所有选中的行
        ```objc
        // 获得所有被选中的行
    NSArray *indexPaths = [self.tableView indexPathsForSelectedRows];
        ```
        - 然后根据行号遍历数据源,找到所有的要删除的数据
        - 删除数据模型
        - 刷新表格
    
    • 自定义
      • 自定义操作比较复杂,等demo写好之后上传

    相关文章

      网友评论

          本文标题:UITableView03-批量操作

          本文链接:https://www.haomeiwen.com/subject/zlsalttx.html