在 UITableView 上使用- (void)beginUpdates
和- (void)endUpdates
时,您是否必须在调用中对数据源进行更改?
IE
如果我有一个NSMutableArray
叫我的dataSource
驾驶我tableView
可以这样做...
// edit the actual data first
[dataSource addObject:@"Blah"];
// now update the table
[self.tableView beginUpdates];
[self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:dataSource.count - 1 inSection:0] withRowAnimation:UITableViewRowAnimationAutomatic];
[self.tableView endUpdates];
还是有必要做...
[self.tableView beginUpdates];
[dataSource addObject:@"Blah"];
[self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:dataSource.count - 1 inSection:0] withRowAnimation:UITableViewRowAnimationAutomatic];
[self.tableView endUpdates];
只是问,因为我有几个地方要更新,我可能会将公共代码带到一个函数中。
但前提是我可以在更新调用之外进行更新。