gpt4 book ai didi

ios - 删除行时 Tableview 崩溃?

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

我在从表格 View 中删除单元格时发生崩溃。我正在使用从 NSUserDefaults 加载的 NSMutableArray 将单元格加载到表格 View 中。这是崩溃的情况:代码:

2011-09-03 18:21:06.097 App[10356:707] *** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit/UIKit-1906/UITableView.m:1046
2011-09-03 18:21:06.100 App[10356:707] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (3) must be equal to the number of rows contained in that section before the update (3), plus or minus the number of rows inserted or deleted from that section (0 inserted, 1 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out).'

这就是我删除行的方法...代码:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
[self.cellArray objectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSMutableArray arrayWithObject:indexPath] withRowAnimation:YES];
[[NSUserDefaults standardUserDefaults] setObject:cellArray forKey:@"cellArray"];
}

这是我的 numberOfRowsInSection 委托(delegate)方法:代码://自定义表格 View 中的行数。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
self.cellArray = [NSMutableArray array];
[self.cellArray addObjectsFromArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"cellArray"]];

if ([self.cellArray count] == 0) {
[ivstatstableView setHidden:YES];
[sortbar setEnabled:NO];
}
return [cellArray count];
}

知道这里出了什么问题吗?

最佳答案

从数组中删除对象后,您需要调用reloadData。当您调用 reloadData 方法时,您的新数组将被更新,从而使您的 UITableView 根据新更新的数据加载新单元格。

关于ios - 删除行时 Tableview 崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7296318/

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