【发布时间】:2013-01-29 11:32:20
【问题描述】:
我正在尝试使用以下代码进行删除。
[super deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationFade];
它返回多个异常。
*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit_Sim/UIKit-2372/UITableView.m:1070
2013-01-29 16:28:22.628
由于未捕获的异常而终止应用程序 'NSInternalInconsistencyException',原因:'无效更新:无效 第 1 节中的行数。包含在第 1 节中的行数 更新后的现有节(5)必须等于 更新前该部分中包含的行 (5),加号或减号 从该部分插入或删除的行数(0 插入, 5 已删除)加上或减去移入或移出的行数 该部分(0 移入,0 移出)。'
【问题讨论】:
-
您删除的行数多于实际存在的行数。
-
确保您的方法
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section在删除前后返回正确的行数。 -
但是我如何确定索引是否存在。这在没有 ARC 的情况下工作正常。
-
感谢 AKV 和 CainaSouza。您的建议解决了我的问题。
标签: ios objective-c uitableview ios6