0

我有一个 UITableView 按字母顺序显示植物列表。在应用程序中,用户可以更改语言。更改语言时,方法:

[self.tableview reloadData];

现在以新语言显示相同的植物。问题是行和部分是完整的,并且仍然按照前一种语言的字母顺序排序。我已经用谷歌搜索并上下阅读了stackoverflow以找到解决方案。我最接近的是:

[[self tableView]reloadData];
NSRange range = NSMakeRange(0, [self numberOfSectionsInTableView:self.tableView]);
NSIndexSet *sections = [NSIndexSet indexSetWithIndexesInRange:range];
[self.tableView reloadSections:sections withRowAnimation:UITableViewRowAnimationFade];

不过,我必须通过运行 tableViewviewdDidLoad来更改字母排序。

在 之后强制进行新的字母排序的最佳方法是什么[[self tableview]reloadData];

4

1 回答 1

2

在调用之前,reloadData您首先需要更新表视图数据源和委托方法使用的所有数据。

您无需viewDidLoad再次致电。将代码用于在其自己的方法中设置数据结构。viewDidLoad然后,您可以从(如果需要)以及reloadData在语言更改后调用之前调用此设置方法。

于 2013-05-06T16:22:08.240 回答