我们在做UITableView的修改,删除,选择时,需要对UITableView进行一系列的动作操作。
这样,我们就会用到

[tableView beginUpdates];

if (newCount<=0) {

[tableView deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section]withRowAnimation:UITableViewRowAnimationLeft];

}

[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]withRowAnimation:UITableViewRowAnimationLeft];

[tableView endUpdates];

向上面一段代码,就是动态删除UITableView 的UITableViewCell的操作。
因为,如果我们的UITableView是分组的时候,我们如果删除某个分组的最后一条记录时,相应的分组也将被删除。所以,必须保证UITableView的分组,和cell同时被删除。
所以,就需要使用beginUpdates方法和endUpdates方法,将要做的删除操作“包”起来!
beginUpdates方法和endUpdates方法是什么呢?

这两个方法,是配合起来使用的,标记了一个tableView的动画块。

分别代表动画的开始开始和结束。

两者成对出现,可以嵌套使用。

一般,在添加,删除,选择 tableView中使用,并实现动画效果。

在动画块内,不建议使用reloadData方法,如果使用,会影响动画。

一般什么时候使用这么一个动画块呢?
一般在UITableView执行:删除行,插入行,删除分组,插入分组时,使用!用来协调UITableView的动画效果。

插入指定的行,

在执行该方法时,会对数据源进行访问(分组数据和行数据),并更新可见行。所以,在调用该方法前,应该先更新数据源

- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation

插入分组到制定位置

- (void)insertSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation

插入一个特定的分组。如果,指定的位置上已经存在了分组,那么原来的分组向后移动一个位置。

删除制定位置的分组

- (void)deleteSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation

删除一个制定位置的分组,其后面的分组向前移动一个位置。

移动分组

- (void)moveSection:(NSInteger)section toSection:(NSInteger)newSection

移动原来的分组从一个位置移动到一个新的位置。如果,新位置上若存在某个分组,那这某个分组将会向上(下)移动到临近一个位置。该方法,没有动画参数。会直接移动。并且一次只能移动一个分组。

在如上方法中,建议使用该动画块进行操作!
希望对你有所帮助!

UITableView的beginUpdates和endUpdates相关推荐

  1. UITableView学习笔记

    2019独角兽企业重金招聘Python工程师标准>>> http://www.cnblogs.com/smileEvday/archive/2012/06/28/tableView. ...

  2. UITableView——reloadData与reloadSection性能比较

    原文:http://blog.csdn.net/iosswift/article/details/50001145 周五上午,测试,有bug:每次reset模拟器后,第一次进入界面,闪退,第二次进入界 ...

  3. UITableView使用指南

    本文转载至 http://blog.csdn.net/yu0089/article/details/8227402 一.概述  UITableView是iOS开发比不可少也是最重要的一个控件类.可以说 ...

  4. UITableView 学习笔记

    http://www.cnblogs.com/smileEvday/archive/2012/06/28/tableView.html UITableView学习笔记 作者:一片枫叶 看TableVi ...

  5. iOS UITableView

    1 .h文件 2 #import <UIKit/UIKit.h> 3 4 @interface EXTVV2ViewController : UIViewController<UIT ...

  6. UITableView 详解 教程

    看TableView的资料其实已经蛮久了,一直想写点儿东西,却总是因为各种原因拖延,今天晚上有时间静下心来记录一些最近学习的TableView的知识.下面进入正题,UITableView堪称UIKit ...

  7. 一个完整的Core Data应用

    在这篇文章中,我们将建立一个小型但却全面支持Core Data的应用.应用允许你创建嵌套的列表:每个列表的item都可以有子列表,这将允许你创建非常深层次的item.为了让大家完整的了解发生了什么,我 ...

  8. iOS开发日记1-tableview编辑

    今天博主有一个tableview编辑的需求,遇到了一些困难点,在此和大家分享,能够共同进步. tableview的编辑是通过[self.tableview setEditing: BOOL1 anim ...

  9. tableview概述

    转自:http://www.cnblogs.com/smileEvday/archive/2012/06/28/tableView.html 下面分9个方面进行介绍: 一.UITableView概述 ...

最新文章

  1. dell 服务器 加ssd硬盘,DELL服务器加SSD硬盘.doc
  2. appium+python自动化33-解锁九宫格(TouchAction)
  3. php 初始二维数组长度,php二维数组排序与默认自然排序的方法介绍
  4. zabbix之web监控
  5. ScrollView嵌套EditText联带滑动的解决办法
  6. 信息学奥赛C++语言:新三好学生
  7. 注意!腾讯语音助手也已抵达战场(内部不止这一个)
  8. Linux下编译protobuf
  9. ASP.NET生成eurl.axd Http异常错误处理方法【转】
  10. java实验报告遇到的问题,JAVA实验报告_doc
  11. 超市系统服务器,超市收银系统 服务器 配置
  12. 超详细TMS-EEG数据处理教程(下)
  13. cocos creator 加载微信云端图片
  14. Android SDK是什么?
  15. Python网络爬虫和信息提取
  16. mySql 脏读,幻读,不可重复度与事务隔离级别
  17. 在这款任天堂游戏里,我发现了一部关卡设计的黄金教案
  18. 计算两幅图像的PSNR和SSIM以及python代码实现
  19. sync.map原理解析
  20. 本人有8万启动资金,做点什么生意好呢?

热门文章

  1. mysql增量备份二进制日志,mysql增量备份二进制日志shell脚本
  2. html5中有哪些新属性,整理HTML5中表单的常用属性及新属性
  3. 计算机专业的校本教材,[中职计算机专业校本教材建设思路与实践]中职计算机专业课程...
  4. 边界化难题终结者!将自监督学习应用到自动驾驶上 | CVPR 2021
  5. 直播 | AAAI 2021最佳论文:比Transformer更有效的长时间序列预测
  6. 机器学习经典必读书,李航《统计学习方法》出视频课了!
  7. Wappo BFS求最短路+路径记录
  8. html 静态资源缓存时间,.htaccess设置静态资源缓存(即浏览器缓存)
  9. python批量读取文本行_用Python读取几十万行文本数据
  10. LeetCode 26 删除有序数组中的重复项