iOS调试——关于insertRowsAtIndexPaths方法崩溃以及动画实效的处理办法
来源:互联网 发布:源美网络 半价商城 编辑:程序博客网 时间:2024/06/03 12:42
有这样一个场景,新增了一个数据,然后再插入一个新的数据,会因为numberOfRowInSection多次刷新后个数与数据源不一致而崩溃。
插入方法:
[_tableView beginUpdates];
[_tableViewinsertRowsAtIndexPaths:indexPathswithRowAnimation:UITableViewRowAnimationLeft];
[_tableViewendUpdates];
代理方法:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return _dataArray.count;
}
处理办法:
1.在插入前就保证数据个数一致,比如更新了数据后就调用reloadData;
2.插入方法改为新增数据源,然后reloadData
插入动画失效处理:
1.使用了reloadData使动画失效,即使先插入,后reloadData.(插入会更新UI,其实不需要再reloadData)
2.插入方法放在了animation动画中,需要将插入提出来
另外,测试发现beginUpdates和endUpdates可以不要,虽然是作为动画的处理,去掉不影响动画,不过还是按苹果要求的在做插入删除时加上吧,另外发现在iOS11中苹果有新的block方法代替这两个方法
阅读全文
0 0
- iOS调试——关于insertRowsAtIndexPaths方法崩溃以及动画实效的处理办法
- 关于Tableview 方法insertRowsAtIndexPaths 报错问题
- iOS崩溃日志crash logs追踪以及调试方法
- iOS崩溃日志crash logs追踪以及调试方法
- iOS/调试器和程序崩溃时的一些处理方法
- android native中崩溃的调试办法
- C++服务器程序崩溃的调试办法
- 动态库的调试和崩溃的处理方法
- GetOpenFileName崩溃处理办法
- iOS调试——部分日期字符串转换成NSDate对象为nil处理办法
- IOS崩溃异常的处理
- iOS崩溃日志的处理
- 关于崩溃日志的处理
- iOS动画—UIView动画以及CoreAnimation动画
- iPhone App Crash的类型以及解决崩溃办法
- 谷歌浏览器(Chrome)遇到Flash崩溃的处理办法
- 误删除glic导致linux系统崩溃的处理办法
- iOS常见崩溃情况以及bug调试解决方法
- 五种Sublime text 3同时快速编辑多行内容
- Java 8 Spliterator接口 迭代式字数统计示例
- 洛谷1979/codevs3290 华容道,74行就写完了?
- Struts2中的拦截器
- onCreate获取view坐标和尺寸为0 的总结
- iOS调试——关于insertRowsAtIndexPaths方法崩溃以及动画实效的处理办法
- POJ 3026.Borg Maze
- 对sessionStorage 缓存的值进行加密
- TensorFlow:Chap4笔记总结
- js获取指定字符前后字符串的简单实例,js截取字符串;
- linux 中定时
- 关于静态变量的修改以及线程休眠
- [Azure]ARM模式下批量清理未使用的托管磁盘
- python 面向对象(进阶篇)