[英]Deleting cell from a tableview - Error - Code provided
我有一个自定义单元格,我正在添加一个段控件。
-(void)segmentclicked:(id)sender{
UISegmentedControl *segmentC = (UISegmentedControl *)sender;
CustomCell *cell=(CustomCell *)segmentC.superview.superview;
NSIndexPath *indexPath = [self.table indexPathForCell:cell];
NSMutableArray *discardarr = [NSMutableArray array];
[discardarr addObject:[self.entries objectAtIndex:indexPath.row]];
[self.table beginUpdates];
[self.itemsArray removeObjectsInArray:discardarr ];
[self.table deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:NO];
self.entries = [NSArray arrayWithArray:self.itemsArray];
[self.table endUpdates];
[self.table reloadData];
}
}
我收到以下错误;
'NSInternalInconsistencyException',原因:'无效更新:第0节中的行数无效。更新后的现有部分中包含的行数(10)必须等于更新前该部分中包含的行数(10)加上或减去从该部分插入或删除的行数(0插入,1删除)和加或减移入或移出该部分的行数(0移入,0移出)。
*第一次抛出调用堆栈:
1.)我怎么能摆脱这个,我相信我已经做了一切相应的事情。 我甚至尝试添加行[self.table reloadData];
以上[self.table endUpdates];
,仍然没有任何变化。 救命
一旦你删除代码中的行[self.table deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:NO];
你的tableview再次检查数据源以查看行中的节数和节中的行数。错误是因为检查已删除的元素仍然作为数据源元素存在,tableview应该显示但是你有叫删除那行。
例如。
在我的行数中,我返回7。
但如果我删除一行我必须让它返回6 ..但你仍然可能是7 ..
(通常返回是一些[数组计数]我刚才使用return 7作为例子)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.