如何在目标c中删除表格视图中的多个部分?
Posted
技术标签:
【中文标题】如何在目标c中删除表格视图中的多个部分?【英文标题】:How to delete multiple sections in table view in objective c? 【发布时间】:2016-10-30 16:26:33 【问题描述】:当我尝试删除多个部分时出现此错误。
由于未捕获的异常而终止应用程序
'NSInternalInconsistencyException',原因:'试图删除部分 5,但更新前只有4节'
这是我的代码:
NSArray *selectedRows = [self.tableView indexPathsForSelectedRows];
int i=0;
for (NSIndexPath *selectionIndex in selectedRows)
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *managedObject = [arrayToDelete objectAtIndex:i];
[self.devices removeObject:[arrayToDelete objectAtIndex:i++]];
[context deleteObject:managedObject];
[self.tableView deleteSections:[NSIndexSet indexSetWithIndex:selectionIndex.section] withRowAnimation:UITableViewRowAnimationFade];
[self saveContext];
[arrayToDelete removeAllObjects];
【问题讨论】:
【参考方案1】:当您尝试删除数组中的某些内容时,我建议您反转方向。 那就是:
//int i=0;
for (int i = [selectedRows count] - 1; i = 0; i-- )
NSIndexPath *selectionIndex = selectedRows[i];
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *managedObject = [arrayToDelete objectAtIndex:i];
[self.devices removeObject:[arrayToDelete objectAtIndex:i]];
[context deleteObject:managedObject];
[self.tableView deleteSections:[NSIndexSet indexSetWithIndex:selectionIndex.section] withRowAnimation:UITableViewRowAnimationFade];
【讨论】:
以上是关于如何在目标c中删除表格视图中的多个部分?的主要内容,如果未能解决你的问题,请参考以下文章
目标 C:如何在视图加载时突出显示表格视图中的第一个单元格?
如何在iOS,Objective C的tableview中的每个部分中仅实现单个单元格选择
如何在目标 c 中的视图控制器上获取自定义 TableViewCell 值