gpt4 book ai didi

ios - 核心数据删除错误

转载 作者:行者123 更新时间:2023-11-29 04:32:58 25 4
gpt4 key购买 nike

尝试从 Hook 到获取结果 Controller 的 TableView 中删除行时出现以下错误:

* -[UITableView _endCellAnimationsWithContext:]、/SourceCache/UIKit_Sim/UIKit-1914.84/UITableView.m:1037 中断言失败2012-07-12 13:11:19.921 Chef[28843:12203] * 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效更新:第 0 节中的行数无效。包含的行数更新后现有节中的行数 (20) 必须等于更新前该节中包含的行数 (20) 加上或减去从该节中插入或删除的行数(0 插入,1 删除)并且加上或减去移入或移出该部分的行数(0 移入,0 移出)。'

我的代码如下。

// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {

// Delete the record from the DB
RecipeCategory *objectToBeDeleted = [self.fetchedResultsController objectAtIndexPath:indexPath];
[self.context deleteObject:objectToBeDeleted];

// Delete the row from the data source
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];


}
else if (editingStyle == UITableViewCellEditingStyleInsert) {
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
}
}

使用获取请求计数和方法 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section,我尝试记录数据库记录数以及之前和表中的行数在 [self.context deleteObject:objectToBeDeleted]; 行之后,它们都从 20 减少到 19。

请帮忙!

编辑:PS错误发生在deleteRowsAtIndexPath方法处。

最佳答案

事实证明,下面这行代码超出了要求。我想 NSFetchedResultsController 也可以处理这个问题。我还必须实现 NSFetchedResultsController 的委托(delegate)方法。

// Delete the row from the data source
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];

关于ios - 核心数据删除错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11451698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com