使用以下UITableView
实例方法:
- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
必须指定要重新加载的NSIndexPaths
中的NSArray
.如果你只是想重新加载.如果你只想重新加载一个电池,那么你可以提供一个NSArray
只容纳一个NSIndexPath
.例如:
NSIndexPath* rowToReload = [NSIndexPath indexPathForRow:3 inSection:0];
NSArray* rowsToReload = [NSArray arrayWithObjects:rowToReload, nil];
[myUITableView reloadRowsAtIndexPaths:rowsToReload withRowAnimation:UITableViewRowAnimationNone];
您可以查看UITableViewRowAnimation
枚举,了解所有可能的行刷新动画方式.如果不需要任何动画,则可以使用值UITableViewRowAnimationNone
,如示例所示.
重新加载特定行比简单地获得想要的动画效果有更大的优势.您还可以获得巨大的性能提升,因为只有真正需要重新加载的单元才能刷新、重新定位和重新绘制数据.根据单元格的复杂程度,每次刷新单元格时可能会有相当大的开销,因此缩小刷新量是一个必要的优化,应该尽可能使用.