美文网首页
UITableView02-增加、修改、删除

UITableView02-增加、修改、删除

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

    数据刷新的原则

    • 先获取数据,修改数据之后修改展示

      • 先获取数据
      • 调用数据刷新方法
    • 不要直接修改cell上面的子控件的属性

    • 重新刷新屏幕上的所有cell

    [self.tableView reloadData];
    
    • 增加

      • 增加必须先修改数据源,增加了相应的数据之后,增加的条数和insertRowsAtIndexPaths行号集合必须数量必须一致
       // 插入某些特定的行
       // insertRowsAtIndexPaths行号集合
      [self.tableView insertRowsAtIndexPaths:@[
                                               [NSIndexPath indexPathForRow:0 inSection:0],
                                               [NSIndexPath indexPathForRow:1 inSection:0]
                                               ] withRowAnimation:UITableViewRowAnimationLeft];
      
    • 删除

      • 删除数据,需要先将数据源中的条数删除,删除的条数和insertRowsAtIndexPaths行号集合必须数量必须一致
      //删除特定的行
      [self.tableView deleteRowsAtIndexPaths:@[
                                           [NSIndexPath indexPathForRow:0 inSection:0],
                                           [NSIndexPath indexPathForRow:1 inSection:0]
                                           ] withRowAnimation:UITableViewRowAnimationRight];
      
    • 修改

      • 修改数据源中对应的模型
      // 刷新特定的行
      [self.tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:3 inSection:0]] withRowAnimation:UITableViewRowAnimationMiddle];
      
    • 删除和增加的时候刷新表格,有的时候会出问题,最简单的方法就是直接使用全部刷新

    • 删除功能还有左滑删除

    // 进入编辑模式
    //self.tableView.editing = YES;
    [self.tableView setEditing:!self.tableView.isEditing animated:YES];
    
    /**
     * 只要实现这个方法,左划cell出现删除按钮的功能就有了
     * 用户提交了添加(点击了添加按钮)\删除(点击了删除按钮)操作时会调用
     */
    - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
    {
        if (editingStyle == UITableViewCellEditingStyleDelete) {
            // 点击了“删除”
        } else if (editingStyle == UITableViewCellEditingStyleInsert) {
            // 点击了+
        }
    }
    /**
     * 这个方法决定了编辑模式时,每一行的编辑类型:insert(+按钮)、delete(-按钮)
     */
    - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        /**
         * UITableViewCellEditingStyleNone,
         * UITableViewCellEditingStyleDelete,
         * UITableViewCellEditingStyleInsert
         */
        return UITableViewCellEditingStyleDelete;
    }
    

    相关文章

      网友评论

          本文标题:UITableView02-增加、修改、删除

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