iOS – UITableView正确刷新表?
我有很多的数据和在我的tableView很多行。 当数据发生变化时,我想在屏幕上更新我的可见单元格,我真的不想使用reloadData,因为这是一个昂贵的调用。
是否有可能以某种方式更新可见单元格? 我试着在桌面上调用: beginUpdate
& endUpdate
,但是这一直不工作?
有什么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]; } }