iOS – UITableView正确刷新表?

我有很多的数据和在我的tableView很多行。 当数据发生变化时,我想在屏幕上更新我的可见单元格,我真的不想使用reloadData,因为这是一个昂贵的调用。

是否有可能以某种方式更新可见单元格? 我试着在桌面上调用: beginUpdateendUpdate ,但是这一直不工作?

有什么build议么?

您可以:

 [tableView reloadRowsAtIndexPaths:[tableView indexPathsForVisibleRows] withRowAnimation:UITableViewRowAnimationNone]; 

对于Swift 3:

 tableView.reloadRows(at: tableView.indexPathsForVisibleRows!, with: .none) 

尝试在从数据源中删除模型之后立即调用UITableView的方法“deleteRowsAtIndexPaths”。 例如,如果您在编辑模式下删除一行,则可以编写类似下面的代码。 请注意,'if'语句的第一行从数据源中删除对象,第二行清理表:

 -(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if ( editingStyle == UITableViewCellEditingStyleDelete ) { [[[[[ItemsStore sharedStore] parameterArray] objectAtIndex:indexPath.section] objectForKey:@"data"] removeObjectAtIndex:indexPath.row]; [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; } }