繁体   English   中英

从tableview中删除单元格 - 错误 - 提供的代码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM