删除节中的所有表行
对于我的iPad项目,我需要能够重新加载表行。
这是它应该如何工作,取决于从弹出视图中选择的一些“id”,我需要能够重新加载表行,表行是动态的并且在其中有一个UITextField。我尝试使用[self.tableView reload]但由于某种原因它没有正确更新行。像之前的“id”所拥有的UITextField占位符之类的东西不会改变。我想到的是删除该特定部分中的所有单元格并使用新的“id”重新加载表。当我这样做时,我得到了这个例外:
*由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无效更新:第0节中的行数无效。更新后的现有节中包含的行数(3)必须等于包含的行数更新前的那一部分(3),加上或减去从该部分插入或删除的行数(插入0,删除3)。
项目代码:
- (void)selectedArchiefID:(NSString *) value {
[self.popOverController dismissPopoverAnimated:YES];
// collects all available document indexfields
int rowCount = [indexDefinities count];
NSMutableArray *indexPaths = [[NSMutableArray alloc] init];
for (int curIndex=0; curIndex < rowCount; curIndex++) {
[indexPaths addObject:[NSIndexPath indexPathForRow:curIndex inSection:0]];
}
// deletes rows
if ([indexPaths count] > 0) {
[self.tableView beginUpdates];
[self.tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
//[self.tableView deleteSections:0 withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates]; //crashes here
}
[self.tableView reloadData];
}
知道我做错了什么吗?
没有找到相关结果
已邀请:
1 个回复
好按紊叉
和
中返回多少部分(和行)。 无论您如何操作,但在更新tableview之前必须删除数据。 还有一件事,在一种方法中同时使用
和
通常是无用的。后者会杀死你从第一个获得的动画效果。