`
jsntghf
  • 浏览: 2542764 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

TableView中的Delete操作

    博客分类:
  • iOS
阅读更多

只要实现UITableViewDataSource接口中的tableView:commitEditingStyle:forRowAtIndexPath:方法即可。

 

#pragma mark -
#pragma mark Table View Data Source Methods
- (void)tableView:(UITableView *)tableView 
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle 
forRowAtIndexPath:(NSIndexPath *)indexPath {    
    NSUInteger row = [indexPath row];
    [self.list removeObjectAtIndex:row];
    [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] 
                     withRowAnimation:UITableViewRowAnimationFade];
}

 

如果UITableView是UITableViewStyleGrouped类型的话,当删除分组中最后一条数据时,该分组也必须删除,否则会报错:

*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit_Sim/UIKit-2372/UITableView.m:1070

libc++abi.dylib: handler threw exception

 

以下代码示例多个分组,每个分组一条数据的情况

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    [self.list removeObjectAtIndex:indexPath.section];
    
    [tableView beginUpdates];
    [tableView deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationFade];
    [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
    [tableView endUpdates];
}

 

分享到:
评论
2 楼 jsntghf 2011-08-10  
hhb19900618 写道
大哥 这个函数:commitEditingStyle是干啥的啊?

在编辑过程中,用户可以从表格中删除记录。用户会看到一个删除确认信息。确认之后,数据源的commitEditingStyle方法就会得到通知,从而令应用程序得知有一个删除请求。这个方法也属于UITableViewDataSource协议。你需要从数据源中删除对应的数据,来满足这个请求。
1 楼 hhb19900618 2011-08-10  
大哥 这个函数:commitEditingStyle是干啥的啊?

相关推荐

    TableView的各种操作

    总的来说,UITableView是iOS应用中不可或缺的一部分,通过理解和熟练运用其各种操作,可以创建出高效、美观的列表界面。在这个过程中,源码的学习和实践尤其重要,因为它们能帮助开发者更好地理解UITableView的工作...

    tableview 中一行添加多个view,对view进行删除操作

    标签"tableview view delete show"提示我们关注的是与显示、删除和视图相关的操作。在实际应用中,可能还需要考虑以下几点: - **用户交互**:确保视图添加和删除操作对用户可见,可以使用动画效果来增强用户体验。...

    tableview 的滑动删除

    "tableview 的滑动删除"是UITableView的一个高级特性,允许用户通过手势操作来删除或标记表视图中的行数据。本篇文章将深入探讨如何实现这个功能,以及相关的设计原则和注意事项。 首先,我们要了解滑动删除的实现...

    iOS数据库SQLite3基本操作并将内容显示在tableView中

    本教程将深入探讨SQLite3的基本操作,并演示如何将查询到的数据展示在UITableView上,这是iOS开发中常见的数据呈现方式。 一、SQLite3基本操作 1. **安装SQLite3**: iOS SDK已经内置了SQLite3库,因此无需额外安装...

    tableView 左边的按钮

    在iOS开发中,`tableView` 是一种非常常见且重要的组件,用于展示列表数据。当我们谈论“tableView 左边的按钮”时,通常是指在`UITableView`的cell上实现的滑动手势,即“滑动删除”功能。这个功能允许用户通过向左...

    ios-tableView的多项选择删除.zip

    self.tableView.deleteRows(at: self.selectedIndexPaths, with: .fade) self.tableView.endUpdates() } let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil) alertController....

    ios-Move-Delete-Insert-TableView.zip

    这个名为“ios-Move-Delete-Insert-TableView.zip”的资源包显然包含了关于如何在UITableView中实现添加、删除和移动表格行的教程或代码示例。在iOS应用中,这种功能通常是用户交互的核心部分,使得用户能够管理和...

    TableView详解

    - 在`tableView(_:commit:forRowAt:)`中处理删除操作。通常会弹出一个确认对话框,用户确认后删除数据并更新TableView。 6. **批量删除**: - 可以通过长按手势识别器实现多选模式。用户选择行后,提供一个删除...

    TableView的相关显示操作

    在实际应用中,开发者经常需要自定义显示效果、处理用户交互等,而这些操作在描述中提到的代码中已有集成,只需适当调整注释即可实现特定需求。 首先,`tableView`是iOS中的一个核心组件,它允许我们以列表的形式...

    ios-tableview编辑.zip

    接着,我们通过`tableView(_:commit:forRowAt:)`来处理具体的编辑操作,这里可以根据传入的 editingStyle 参数(如 UITableViewCellEditingStyle.delete 或 .insert)来判断是删除还是插入操作。 删除操作的一个...

    TableView删除,修改,编辑

    实现此功能,需要在`tableView:commitEditingStyle:forRowAtIndexPath:`代理方法中处理删除操作。 5. **Cell的移动** 对于需要调整列表顺序的场景,可以利用UITableView的拖放功能。首先,开启表格的拖放功能`...

    tableView自带的多选功能

    在这个名为"DuoXuanKuang"的示例项目中,开发者可能已经实现了上述功能,并通过一个简单的界面展示了如何在`tableView`上启用和操作多选功能。通过查看源代码,你可以更深入地学习如何结合这些知识点来创建自己的...

    ios-TableView添加,减少cell的个数.zip

    这个压缩包"ios-TableView添加,减少cell的个数.zip"显然包含了如何动态地增减UITableView中的cell数量的示例代码。在这个项目中,开发者可能通过一个按钮的点击事件来实现这个功能,这在用户交互中很常见,比如在...

    tableview展开

    这个文件可能包含了一个可复用的多级菜单组件,用于在UITableView中展示多级嵌套的数据结构,并支持展开和收起操作。通过学习和分析这个文件,你可以深入理解如何在实际项目中实现`tableView展开`功能。 总之,`...

    tableView文件保存demo

    "tableView文件保存demo"是一个实例项目,它展示了如何在UITableView中实现增删改查(CRUD)操作,并利用plist文件进行数据持久化,同时处理程序意外退出时的数据保存问题。在iOS应用中,数据持久化是至关重要的,它...

    TableView全选删除Cell数据

    在iOS开发中,`UITableView`是用于展示列表数据的核心组件,而“TableView全选删除Cell数据”是一项常见的功能需求,特别是在需要用户批量操作数据的场景下。本篇将详细讲解如何实现这一功能。 首先,我们需要了解`...

    iphone开发TableView编辑

    首先,你需要在`viewDidLoad`方法中设置TableView的编辑能力,并监听编辑状态的改变: ```swift self.tableView.setEditing(false, animated: false) self.tableView.allowsSelectionDuringEditing = true ``` ...

    ios-tableview的滑动删除.zip

    滑动删除是UITableView的一个重要特性,允许用户通过简单的手势操作来删除列表中的某一项。 滑动删除功能在UITableView中通常是通过实现UITableViewDelegate的`tableView(_:editActionsForRowAt:)`方法来完成的。这...

    Qt tableview实现翻页,翻页后选中,选中删除,全部删除,模糊搜索,跳转

    在Qt开发中,`QTableView`是一个非常...这些功能可以极大地提升用户体验,使用户能够更高效地管理和操作表格数据。在实际项目中,可能还需要处理更多细节,比如错误处理、界面响应等,但以上代码提供了基本的实现思路。

    swift中UITableView自定义cell添加与删除及表的刷新wift中UITableView自定义cell添加与删除及表的刷新

    删除项则需要从数据源数组中移除相应数据,并调用`tableView.deleteRows(at:with:)`: ```swift func removeItem(at index: IndexPath) { items.remove(at: index.row) tableView.beginUpdates() tableView....

Global site tag (gtag.js) - Google Analytics