美文网首页
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